我对我的面包屑解决方案有点不放心。名称和链接在每个控制器操作中定义:
<a href="http://localhost:3000/">Home</a>
<% if defined? @l1_link %>
> <a href="<%= @l1_link%>"><%= @l1_name %></a>
<% if defined? @l2_link %>
> <a href="<%= @l2_link%>"><%= @l2_name %></a>
<% end %>
<% end %>
这样我就可以使用:
@l1_link = user_path()
问:因为我不是那么聪明--这种系统会导致灾难吗?这是(非常)低效的吗?
发布于 2010-02-17 21:13:55
Breadcrumbs菜单在大多数Rails应用程序中是一种重复出现的模式。为了解决这个问题,我创建并发布了一个名为breadcrumbs_on_rails的插件。
您可以在控制器中定义面包屑
class MyController
add_breadcrumb "home", root_path
add_breadcrumb "my", my_path
def index
# ...
add_breadcrumb "index", index_path
end
end
然后在视图中渲染它们。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>untitled</title>
</head>
<body>
<%= render_breadcrumbs %>
</body>
</html>
即使你不想使用插件,我也鼓励你去看看。它是开源的,您可以为您的应用程序获取一些想法。
发布于 2010-10-30 06:00:35
我制作了一个名为Gretel的gem,这是一个用于创建面包屑的Ruby on Rails插件。面包屑在单独的配置文件中配置,并在视图中选择。
示例config/breadcrumbs.rb
crumb :root do
link "Home", root_path
end
crumb :projects do
link "Projects", projects_path
end
crumb :project do |project|
link project.name, project_path(project)
parent :projects
end
crumb :project_issues do |project|
link "Issues", project_issues_path(project)
parent :project, project
end
crumb :issue do |issue|
link issue.name, issue_path(issue)
parent :project_issues, issue.project
end
在您的视图中:
<% breadcrumb :issue, @issue %>
在你的app/views/layout/application.html.erb中:
<%= breadcrumbs pretext: "You are here: " %>
发布于 2012-06-26 02:30:10
不要只将任何插件用于面包屑。此链接提供了一种生成面包屑的有效方法。
http://szeryf.wordpress.com/2008/06/13/easy-and-flexible-breadcrumbs-for-rails/
虽然,这是一个非常古老的帖子,但它仍然有效。
https://stackoverflow.com/questions/2280648
复制相似问题