Ruby on rails 如何使用友好ID将博客标题转换为rails 4中索引页上的链接
我还是个新手,不知道如何让我的博客标题链接到全文。我正在使用友好的id gem,并按照网站上的入门说明创建了这个基本的博客 下面是我当前的代码,它将标题转换为链接,但所有标题都将继续链接到帖子的索引页。可链接的标题应指向类似于此示例的内容: example.com/posts/my-first-blog-postRuby on rails 如何使用友好ID将博客标题转换为rails 4中索引页上的链接,ruby-on-rails,ruby-on-rails-4,friendly-id,Ruby On Rails,Ruby On Rails 4,Friendly Id,我还是个新手,不知道如何让我的博客标题链接到全文。我正在使用友好的id gem,并按照网站上的入门说明创建了这个基本的博客 下面是我当前的代码,它将标题转换为链接,但所有标题都将继续链接到帖子的索引页。可链接的标题应指向类似于此示例的内容: example.com/posts/my-first-blog-post <h1>The Blog!</h1> <div class="container"> <div class="row">
<h1>The Blog!</h1>
<div class="container">
<div class="row">
<div class="col-md-1">
<% @posts.each do |post| %>
<h2><%= link_to post.title %></h2>
<P><%= truncate (post.body), :length => 250 %></p>
<% end %>
</div>
</div>
</div>
我将非常感谢任何帮助,让这些标题链接到使用友好id创建的链接名称。如果有任何区别,slug是从标题生成的,我确实添加并保存了slug,以便在我不使用友好id的情况下发布所有以前发布的博客文章
提前感谢您的帮助。方法签名您使用它的方式是:
link_to text_to_display, path
如果遵循Rails标准,则应执行以下操作:
link_to post.title, post_path(post.slug)
实际上,不需要.slug,因为FriendlyId重写了模型中的to_param方法
因此,您可以:
link_to post.title, post_path(post)
甚至
link_to post.title, post
取决于您……方法签名的使用方式是:
link_to text_to_display, path
如果遵循Rails标准,则应执行以下操作:
link_to post.title, post_path(post.slug)
实际上,不需要.slug,因为FriendlyId重写了模型中的to_param方法
因此,您可以:
link_to post.title, post_path(post)
甚至
link_to post.title, post
取决于您……在您的模型中,您应该有如下内容
friendly_id :title, use: :slugged
你的链接应该是
link_to post.title, post
你不必在你的观点中引入slug。只需更新模型即可 在您的模型中,您应该有
friendly_id :title, use: :slugged
你的链接应该是
link_to post.title, post
你不必在你的观点中引入slug。只需更新模型即可 我们喜欢使用的一种方法是不包含元素的属性:
<%= link_to post.title, post_path(post) %>
如果您在模型中设置了友好的_id,这应该会自动工作我们喜欢使用的一种方法是不包括元素的属性:
<%= link_to post.title, post_path(post) %>
如果您在模型中设置了友好的_id,这将自动工作下面的三个答案都解决了问题。谢谢你的帮助。因为我不能接受所有答案都是成功的,所以我把这三个答案都投了赞成票。下面的三个答案都解决了这个问题。谢谢你的帮助。由于我不能接受所有答案都是成功的,所以我对这三个答案都投了赞成票。我不明白这是否被认为是最佳答案,因为使用post.slug是没有必要的,而且在gem的文档中也没有提到。对我来说,这样使用它,会降低友好的解决方案。这怎么可能写得更短呢?@Danny,好吧,你添加了一个。。。他没有完全清醒。为邻居干杯!我们确实是邻居!很抱歉-1。我不知道这只是为了错误的答案!没什么大不了的:实际上几乎没有人赞成,所以反对票有点令人不快。我不明白这是公认的最佳答案,因为使用post.slug是没有必要的,而且gem的文档中也没有提到。对我来说,这样使用它,会降低友好的解决方案。这怎么可能写得更短呢?@Danny,好吧,你添加了一个。。。他没有完全清醒。为邻居干杯!我们确实是邻居!很抱歉-1。我不知道这只是为了错误的答案!没什么大不了的:事实上,几乎没有人支持投票,所以反对票有点令人不安