首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用友好的index将博客标题转换为rails 4索引页上的链接

如何使用友好的index将博客标题转换为rails 4索引页上的链接
EN

Stack Overflow用户
提问于 2014-03-16 06:28:24
回答 3查看 146关注 0票数 1

我仍然是一个新手,不知道如何让我的博客标题链接到完整的帖子。我使用友好的id gem并按照started.html的入门说明构建了这个基本博客

下面是我当前的代码,它将标题转换为链接,但是所有标题都继续链接到posts.The可链接标题的索引页面,标题应该指向类似于此示例的内容:

Example.com/post/my-first-blog-post

代码语言:javascript
复制
<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创建的链接名称。如果有任何不同,鼻塞是从标题中生成的,我在没有使用友好id的时候添加并保存了以前发布的所有博客文章中的段塞。

提前谢谢你的帮助。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-03-16 07:04:58

方法签名(使用它的方式)是:

代码语言:javascript
复制
 link_to text_to_display, path

如果您遵循Rails标准,您应该这样做:

代码语言:javascript
复制
link_to post.title, post_path(post.slug)

实际上,不需要.slug,因为FriendlyId重写了模型中的to_param方法。

所以你可以:

代码语言:javascript
复制
link_to post.title, post_path(post)

甚至

代码语言:javascript
复制
link_to post.title, post

取决于你..。

票数 3
EN

Stack Overflow用户

发布于 2014-03-16 08:42:40

在你的模型中,你应该有

代码语言:javascript
复制
  friendly_id :title, use: :slugged

你的链接应该是

代码语言:javascript
复制
link_to post.title, post

你不必在你的观点中引入“鼻涕虫”。简单地更新模型就行了!

票数 2
EN

Stack Overflow用户

发布于 2014-03-16 12:52:46

我们喜欢使用的一种方法是不包含元素的属性:

代码语言:javascript
复制
<%= link_to post.title, post_path(post) %>

如果您在模型中设置了friendly_id,这应该会自动工作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22433717

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档