Попытка получить доступ к текущему пользователю в rails admin

#ruby-on-rails #rails-admin

#ruby-on-rails #rails-admin

Вопрос:

Есть ли способ получить доступ к current_user в rails admin config.model фильтруемая опция. Я пытался использовать:

 bindings[:view]._current_user
  

но привязки для меня равны нулю

Вот фрагмент кода того, что я делал:

 field :user do
  filterable do                     #I want to access current user here
    bindings[:view]._current_user   #bindings is nil
  end

  pretty_value do
    bindings[:view]._current_user   #bindings is not nil
  end
end
  

Ответ №1:

Я не смог получить к нему доступ с помощью подхода привязок, поэтому я просто создал фильтр before в своем контроллере приложения, который вызывает там метод, который устанавливает текущего пользователя в моей пользовательской модели с помощью метода класса.

Таким образом, в моем фрагменте кода я мог бы получить доступ к current_user следующим образом:

 ...
filterable do
User.current
end
...
  

Ответ пришел из этого:
https://amitrmohanty.wordpress.com/2014/01/20/how-to-get-current_user-in-model-and-observer-rails /

Ответ №2:

Я смог использовать:

       field :user_id do
        default_value do
          bindings[:controller].current_user
        end
      end