第一に、私はレールの初心者です。
私はこれをSessionsControllerに持っています:
def method
sign_in 'user'
end
そしてこれはSessionsHelperで:
def sing_in(user)
......
end
したがって、グーグルでスタックオーバーフローに関するいくつかの回答を読むと、次のようなことを試すことができます。「SessionsHelper」をSessionsController
に
含め、次のように「ApplicationController」に入れようとしました。
class ApplicationController < ActionController::Base
protect_from_forgery
include SessionsHelper
def handle_unverified_requests
sign_out
super
end
end
しかし、私は得ています
NoMethodError : SessionsController の未定義のメソッド `sign_in':0x007eff2004fcd8
また、いくつかの質問:
1)いくつかのメソッドを Heplers に配置し、いくつかのメソッドを Controller に配置することのポイント/違いは何ですか? それはセキュリティの問題ですか、それとも何ですか?
2)コントローラーで定義されたメソッドにビューでアクセスできることをstackoverflowで読んだので、SessionsControllerにsign_inメソッドを入れてみました。私が使用したビューの問題を避けるために
helper_method
それでも同じ NoMethodError
3) コントローラーのヘルパー メソッドにアクセスするための最良かつ簡単な方法は?
では、どこが間違っているのでしょうか。Rails 3.2.11とRuby 2.0.0p0
を使用しています