Ruby on Rails Breadcrumbs动态链接标题内容

发布于 2024-11-14 03:01:03 字数 452 浏览 2 评论 0原文

如何将视频名称动态链接到我的面包屑的标题内容。

中的教程进行操作

我已按照 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

眼眸里的快感 2024-11-21 03:01:03

为了使用 `crumb :video, {:videos =>; :name}, :video_path`,您应该首先在`.yml`文件中定义一个新的面包屑节点,然后确保对象`@videos`存在于您的上下文中,并且对象`@videos`有一个有效的方法“name”(将返回一个字符串)

在您提供的代码中,您使用“video_path”,所以我猜您正在为模型视频(在 CRUD 中)使用“show”方法,因此您可以检查视频模型的控制器再次进行正确的翻译。

无论如何,因为值“params[:id]”在“show”方法的上下文中可用。您可以利用它并简单地将代码更改为如下所示:

 crumb :video, '#{Video.find(params[:id]).name}', :video_path, :params => :id

这种方式可能“不太漂亮”(如您提供的链接中所述),但您可以实现您想要的,而无需在新的面包屑节点中定义新的面包屑节点`.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:

 crumb :video, '#{Video.find(params[:id]).name}', :video_path, :params => :id

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文