Прежде всего, я новичок в рельсах.
У меня есть это в SessionsController:
def method
sign_in 'user'
end
А это в SessionsHelper:
def sing_in(user)
......
end
Поиск в Google и чтение некоторых ответов на stackoverflow позволили мне попробовать что-то вроде этого:
Включение 'SessionsHelper' в SessionsController и даже попытка поместить его в 'ApplicationController' следующим образом:
class ApplicationController < ActionController::Base
protect_from_forgery
include SessionsHelper
def handle_unverified_requests
sign_out
super
end
end
Но я получаю
NoMethodError: неопределенный метод `sign_in' для SessionsController:0x007eff2004fcd8
Также несколько вопросов:
1) В чем смысл/разница в размещении нескольких методов в Heplers и нескольких в контроллерах? Это проблема безопасности или что?
2) Я также пытался >поместить метод sign_in в SessionsController, поскольку я прочитал в stackoverflow, что методы, определенные в контроллерах, могут быть доступны в представлениях. поэтому, чтобы избежать каких-либо проблем с представлениями, которые я использовал
helper_method
но все тот же NoMethodError
3) Лучший и простой способ получить доступ к вспомогательным методам в контроллерах?
Итак, в чем я ошибаюсь?
Я использую Rails 3.2.11 и Ruby 2.0.0p0.