从另一个模型在主页上显示信息? Ruby on rails

时间:2012-06-29 23:11:09

标签: ruby-on-rails view model twitter-bootstrap

我有一个帖子模型......我试图在网页的索引页面上显示这个模型。

<% @posts.each do |post| %>
<%= @posts[1].title %> 
<%end%>

上面代码的问题是它显示标题3次,因为我有3个帖子。如何编辑此代码使其仅显示一次。

2 个答案:

答案 0 :(得分:0)

你打算这样做:

<% @posts.each do |post| %>
  <%= post.title %> 
<%end%>

each枚举器将其变量一次一个地传递到具有do |variable|语法的块中。因此post@posts中的每个项目,一个接一个。

这是Ruby和Rails的一个非常基本的概念:如果不进一步理解这一点,你可能不会走得太远。我建议你去read Programming Ruby - 一个非常优秀的教程和Ruby编程语言的参考 - 来理解块和枚举器是如何工作的。

答案 1 :(得分:0)

如果您使用'each',它会显示所有帖子,因为在您的控制器中您有@posts = Posts.all。这将到目前为止写入@posts实例变量的所有帖子都打包出来,每个枚举器都会打印所有帖子

如果您只希望显示标题,而且只显示第一篇文章,那么您可以在视图中这样写出

<%= @posts.first.title %>