1

technoweenieからプラグインrestful_authenticationをインストールして実装しました。

私のアプリケーションは、たとえばレビューを書く場合を除いて、ほとんどの場合、オープンにすることを目的としています。

したがって、reviews_controller.rbがありますが、ユーザーがログインしているかどうかを確認したいのは、特定のアクションadd_reviewを送信するときだけです。

フォームはvendors/showに表示されるため、add_reviewはvendor_controller.rbに対するアクションです。次に、ベンダー/ショーにリダイレクトして更新を表示します(これをajaxに変更することを考えています)。

その人がログインしていない場合は、ログイン/サインアップページにリダイレクトしてほしい。

restful_authenticationの手順は、コントローラーレベルでinclude AuthenticatedSystemを適用することを示していますが、そのコントローラーの他のアクションで認証したくありません。

どうすればよいですか?

4

2 に答える 2

4

AuthenticatedSystemモジュールを必要なコントローラー(または、複数の場合はApplicationController)に含めてから、必要なアクションにのみ適用されるbefore_filterを使用します。例:

class VendorsController < ApplicationController
  include AuthenticatedSystem
  before_filter :login_required, :only => [:add_review]
end
于 2009-04-09T02:54:42.633 に答える
0

独自の add_review アクションではなく、安らかな作成アクションを使用するようお願いします。安らかなルーティングの詳細については、http: //guides.rubyonrails.org/routing.htmlを参照してください。

于 2009-04-09T05:41:40.157 に答える