#ruby-on-rails #ruby #database #admin
#ruby-on-rails #ruby #База данных #администратор
Вопрос:
Я пытаюсь получить доступ к администратору? метод , который был сгенерирован , когда я добавил атрибут admin в свою базу данных . Я пытаюсь использовать его в моей части _header для отображения другой панели навигации для пользователей с правами администратора.
Мне требуется класс User в контроллере приложения, чтобы я мог использовать его методы в своем приложении rails как таковые
«» требуется пользователь «‘
Я также попытался обернуть свой класс user в модуль с именем UserMod
и также требует его в контроллере приложения
«» требуется UserMod
»’
тем не менее, когда я пытаюсь использовать его в своем частичном заголовке: app/views/layouts/_header.html.erb
```
<% if current_user amp;amp; current_user.admin? %>
<li><%= link_to "Users", users_path %></li>
<%end%>
```
это приводит к ошибке :
«» неинициализированная константа » »
когда я не требую или не включаю какие-либо классы или модули в контроллер приложения, он говорит, что admin? метод не распознан.
Может кто-нибудь, пожалуйста, помочь мне расширить область действия администратора? метод в моем приложении. Большое вам спасибо!
Комментарии:
1. Вам не нужно
require User
обрабатывать пользователей на уровне контроллера. Не могли бы вы добавить всюuninitialized constant
ошибку, которую вы получаете, к своему вопросу? Также этоadmin
логическое поле для пользователя? или это дополнительный метод, который вы определили в модели? не могли бы вы поделиться этим кодом, чтобы дать больше контекста?2. ошибка: «‘NameError: неинициализированная константа SessionsController:: UserMod»‘, у меня есть логическое поле, а также метод, который, по-видимому, генерируется при создании миграции для добавления столбца admin в мою таблицу. Это соответствует руководству по ruby one rails от Michale hartl. я пытаюсь получить доступ к этому администратору? метод, доступный в. Модель. Спасибо
3. Понятия не имею, о каком руководстве вы говорите. Вы выполнили миграцию? если вы вызываете
rails console
что-то вродеUser.last.admin?
, это работает? как насчет удаления?
знака, что отображается в этом случае?4. да, я запустил миграции. Когда я запускаю User.last.admin? выдается следующая ошибка. «‘Zeitwerk::NameError (ожидаемый файл /Users/ariticas/nfs_clone/DFS/app/models/user.rb для определения постоянного пользователя, но этого не произошло) «‘
5. Не могли бы вы добавить к своему вопросу, как вы используете этот
Zeitwerk
драгоценный камень? вероятно, в этом и заключается проблема. Также проверьте в журналах ошибок файл и строку, в которой возникла ошибка, и поделитесь ею