根据《[ruby on rails] 跟我学之路由映射》,我们知道,可以访问 GET
/posts/
:id
(.
:format
)
来显示具体的对象。
1. 修改action
修改 app/controllers/posts_controller.rb的show这个action。这里有个难题,如果获取url里面的参数?
可以通过params内置变量进行访问!如下:
def show
@post = Post.find(params[:id])
end
2. 修改view
修改app/views/show.html.erb这个view文件,如下:
<h1><%=@post.title%></h1>
<p><%=@post.context%></p>
<small><%=@post.created_at%></small>
3. 运行server
执行指令 rails s即可。打开链接 http://localhost:3000/posts/1,如下图:
但是这样子需要用户记住id,不太好,改进下index页面如下:
<h1>Our blogs</h1>
<% @posts.each do |post| %>
<h2><%=link_to post.title,post%></h2>
<%=post.context%><br/><hr/>
<% end %>
link_to 连接到的栏位, url映射的快捷方式,在[ruby on rails] 跟我学之路由映射提到,show的prefix是post,如下:
post
GET
/posts/
:id
(.
:format
) posts
#show
改进后,效果如下:
转载请注明本文来自:http://www.cnblogs.com/Tommy-Yu/p/4141339.html, 谢谢!