1

第一に、私はレールの初心者です。
私はこれを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.11Ruby 2.0.0p0
を使用しています

4

1 に答える 1