我正在尝试对link_to
进行show
post
次操作。
在controller
我有:
@post = Post.all
在我看来,我试图将它链接到最后一个帖子:
<%= link_to @post.last do %>
<%= @post.last.title %>
<% end %>
但它不会把我带到那篇文章的展示页面?
答案 0 :(得分:5)
Post.all
加载所有帖子,但不保证订单。您可能希望使用id
或created_at
值来订购帖子列表:
# in your controller
@posts = Post.order(:id)
# in the view:
<%= link_to @posts.last.title, @posts.last %>
或者 - 如果您不需要视图中的其他帖子 - 只需加载最新帖子:
# in the controller:
@latest_post = Post.order(:id).last
# in the view:
<%= link_to @latest_post.title, @latest_post %>
答案 1 :(得分:1)
尝试使用以下代码,
<%= link_to post_path(@post.last) do %>
<%= @post.last.title %>
<% end %>
如果此代码不起作用,请在终端中找到带有rake routes
消息的路线,并将post_path
替换为您的路线
希望这会奏效。