Ruby on Rails Breadcrumbs动态链接标题内容
如何将视频名称动态链接到我的面包屑的标题内容。
中的教程进行操作
我已按照 https://github.com/sekrett/crumble /config/initializers/ breadcrumbs.rb
crumb :root, "Home", :root_path
crumb :video, {:videos => :name}, :video_path
trail :videos, :show, [:root, :video]
在我的视频显示页面中,面包屑如图所示:
“主页>>翻译缺失:en.breadcrumbs.video”
如何访问视频标题并动态显示它?
How do i dynamically link the video name to the title content of my breadcrumbs.
I've followed the tutorial in https://github.com/sekrett/crumble
/config/initializers/breadcrumbs.rb
crumb :root, "Home", :root_path
crumb :video, {:videos => :name}, :video_path
trail :videos, :show, [:root, :video]
In my video show page, the breadcrumb is as shown:
"Home >> translation missing: en.breadcrumbs.video"
How do i access the title of the video and display it dynamically?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
为了使用 `crumb :video, {:videos =>; :name}, :video_path`,您应该首先在`.yml`文件中定义一个新的面包屑节点,然后确保对象`@videos`存在于您的上下文中,并且对象`@videos`有一个有效的方法“name”(将返回一个字符串)
在您提供的代码中,您使用“video_path”,所以我猜您正在为模型视频(在 CRUD 中)使用“show”方法,因此您可以检查视频模型的控制器再次进行正确的翻译。
无论如何,因为值“params[:id]”在“show”方法的上下文中可用。您可以利用它并简单地将代码更改为如下所示:
这种方式可能“不太漂亮”(如您提供的链接中所述),但您可以实现您想要的,而无需在新的面包屑节点中定义新的面包屑节点`.yml` 文件
In order to use `crumb :video, {:videos => :name}, :video_path`, you should firstly define a new breadcrumbs node in your `.yml` file, then make sure that the object `@videos` exists in your context, and the object `@videos` has a valid method "name" (which will return a string)
In the code you provided, you use `video_path`, so I guess you are using "show" method for the model Video (in CRUD), so you can check the controller for Video model again to make the correct translation.
Anyway, because the value `params[:id]` is available in the context of the "show" method. You can make use of it and simply change your code to something like below:
This way may be "not pretty" (as mentioned in the link you provided), but you can achieve what you want without define a new breadcrumbs node in a new `.yml` file