如何添加面包屑以在 rails 上设计 ruby
how to add breadcrumb to devise ruby on rails
我想将面包屑添加到(设计的)注册和登录表单中,但我不知道将面包屑添加到设计控制器的何处?
我从 Devise::RegistrationsController 继承了 registrations_controller,并向 'edit' 添加了面包屑。我尝试创建一个 users__controller (继承 Devise::UsersController )但是这给了我一个循环引用错误。
如何将这些面包屑添加到设计中的用户 "pages"?
谢谢,
乔
您可以通过以下方式生成设计视图:
rails generate devise:views users
确保将 users
替换为您的用户模型名称,如果它不是 User
(例如 Admin
、Manager
等)
然后您可以向这些视图中添加任何您需要显示面包屑的内容。
我在我的项目中使用 gem breadcrumbs on rails with 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 的其他页面 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'
}
请告诉我它是否适合你。
我想将面包屑添加到(设计的)注册和登录表单中,但我不知道将面包屑添加到设计控制器的何处?
我从 Devise::RegistrationsController 继承了 registrations_controller,并向 'edit' 添加了面包屑。我尝试创建一个 users__controller (继承 Devise::UsersController )但是这给了我一个循环引用错误。
如何将这些面包屑添加到设计中的用户 "pages"?
谢谢, 乔
您可以通过以下方式生成设计视图:
rails generate devise:views users
确保将 users
替换为您的用户模型名称,如果它不是 User
(例如 Admin
、Manager
等)
然后您可以向这些视图中添加任何您需要显示面包屑的内容。
我在我的项目中使用 gem breadcrumbs on rails with 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 的其他页面 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'
}
请告诉我它是否适合你。