我想在注册和登录表单(设计版)中添加面包屑,但我不知道在哪里将面包屑添加到设计控制器中?
我有从devise :: RegistrationsController继承的registrations_controller,并添加了一个面包屑来编辑'。我尝试创建一个users__controller(继承Devise :: UsersController),但这给了我一个循环引用错误。
如何将这些面包屑添加到用户"页面"在设计?
谢谢, 乔
答案 0 :(得分:2)
我在项目中使用了宝石breadcrumbs on rails和设计。
如果您还没有使用设计制作用户模型,那么首先:
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布局中,我添加了面包屑(位于&lt;%= yield%&gt;上方)
<%= render_breadcrumbs %>
我刚测试过它,它可以从屏幕截图中看到。
已编辑:
如果您想将面包屑添加到Devise gem的其他页面,例如忘记密码页面,您可以创建新的控制器:
# 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'
}
如果它适合您,请告诉我。
答案 1 :(得分:0)
您可以使用以下命令生成设计视图:
rails generate devise:views users
如果用户型号名称不是users
(例如User
,Admin
等),请务必将Manager
替换为您的用户型号名称。
然后,您可以将这些视图添加到显示面包屑的任何内容。