В модели доступен вспомогательный метод Rails 3 - PullRequest
10 голосов
/ 02 апреля 2011

Я обновляю приложение до Rails 3. У нас есть Контроллер приложений, подобный следующему:

class ApplicationController < ActionController::Base
     helper_method :current_user

     def current_user
       @current_user ||= User.find(session[:user_id]) if session[:user_id]
     end

Поскольку мы определяем «helper_method», «current_user» доступен для всех представлений. Он доступен для контроллеров, поскольку все они наследуются от класса ApplicationController.

Однако, когда мы работали с 2.3.8, доступ к «current_user» был доступен через модель, но теперь это не так. Есть ли способ показать это моделям?

1 Ответ

9 голосов
/ 02 апреля 2011

Я мог бы предложить переместить current_user в помощника, такого как UserHelper, тогда вы можете включить его в свою модель с помощью include UserHelper.

Вам также потребуется include UserHelper в вашем ApplicationControllerно helper :user будет также включать это как обычно в ваши представления.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...