[ruby on rails] 跟我学之(6)显示指定数据

根据《[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><%[email protected]%></h1>

<p><%[email protected]%></p>

<small><%[email protected]_at%></small>

 

3. 运行server

执行指令 rails s即可。打开链接 http://localhost:3000/posts/1,如下图:

[ruby on rails] 跟我学之(6)显示指定数据

但是这样子需要用户记住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

 

改进后,效果如下:

[ruby on rails] 跟我学之(6)显示指定数据

 转载请注明本文来自:http://www.cnblogs.com/Tommy-Yu/p/4141339.html, 谢谢!

你可能感兴趣的:(ruby on rails)