Как добавить крошку, чтобы придумать рубин на рельсах
Я хотел бы добавить панировочные сухари в формы регистрации и входа в систему (устройства), но я не знаю, куда добавить хлебные крошки в контроллер устройства?
У меня есть registrations_controller, который был унаследован от Devise::RegistrationsController, и я добавил крошку для редактирования. Я попытался создать user__controller (наследующий Devise::UsersController), но это дало мне ошибку циклической ссылки.
Как мне добавить эти хлебные крошки на пользовательские "страницы" в разработке?
Спасибо джо
2 ответа
Я использую драгоценные сухари на рельсах с устройством в моем проекте.
Если вы еще не создали модель User с устройством devise, сначала сделайте это:
rails g devise User
rake db:migrate
rails generate devise:views users
Мой registration_controller.rb выглядит так:
# app/controllers/registrations_controller.rb
class RegistrationsController < Devise::RegistrationsController
add_breadcrumb "home", :root_path
add_breadcrumb "contact", :contacts_path
end
Я изменил маршруты:
devise_for :users, :controllers => { registrations: 'registrations' }
В макете application.html.erb я добавил крошки (чуть выше <% = yield%>)
<%= render_breadcrumbs %>
Я только что проверил, и это работает, как вы можете видеть на скриншоте.
Редакция:
Если вы хотите добавить хлебные крошки на другие страницы гема Devise, например страницу Забыли пароль, вы можете создать новый контроллер:
# app/controllers/passwords_controller.rb
class PasswordsController < Devise::PasswordsController
add_breadcrumb "home", :root_path
add_breadcrumb "contact", :contacts_path
end
и обновите ваши маршруты:
devise_for :users, controllers: {
registrations: 'registrations',
passwords: 'passwords'
}
Пожалуйста, дайте мне знать, если это работает для вас.
Вы можете генерировать представления устройства с помощью:
rails generate devise:views users
Не забудьте заменить users
с любым именем вашей модели пользователя, если это не так User
(например Admin
, Manager
, так далее)
Затем вы можете добавить к этим представлениям все, что вам нужно, чтобы показать сухари.