Ruby on Rails的两个条件
例如获得表行,我在数据库中,用户和微柱的两个表。用户表存储所有用户,并具有两列,即id和name;在微观柱表中存储用户进行的职位,并有三列:ID,POST_CONTENT和USER_ID(这两个表,当然也有被创建的每个条目的时间戳)。所以基本上我想要的是有一个视图页面,显示存储在用户(id和名称)加上相应的用户创建的最后一篇文章中的信息。 一个办法,我想这样做的是要把它被在用户视图页面(位于,例如,应用程序/视图/用户/ index.html.erb)正确处理。由于我可能是通过用户表要循环这样Ruby on Rails的两个条件
<% @Users.each do |user| %> id = user.id
<!-- Do such and such -->
<% end %>
,并同时通过用户表循环,使用user.id来获得用户所做的最新帖子。
第二种方法是基本实现,使得用户表有存储最新的职位信息和更新,当事务对数据库所做的每次另一列。那么当实现最新的帖子时可以作为属性访问。
不过,我真的不知道哪种方式比较好,也没有如何实现两种方式... 什么建议吗? 在此先感谢!
编辑: 对不起,有一个错字。它是“两个表格和一个数据库”
回答:
其他类似的答案,但我想添加一个重要的小片,我觉得是经常被忽视。包括第一次调用数据库时的关联。
# not sure the scale of your project but I would paginate @users # by using includes you prevent the N+1 issues
<% @users.includes(:microposts).each do |user| %>
id = user.id
user.microposts.last
<% end %>
对于一些文档,在此:
http://guides.rubyonrails.org/active_record_querying.html#eager-loading-associations
回答:
class User has_many :microposts
end
class Micropost
belong_to :user
end
# to get user's post
# for single user
@user.microposts
# for many users
@users.each do |user|
user.microposts.each do |post|
post.post_content
end
end
回答:
您的用户有很多微博。所以做对用户以下视图页面即应用程序/视图/用户/ index.html.erb
<% @Users.each do |user| %> id = user.id
last_post = user.microposts.last <!-- This will give you last post created by the user -->
<% end %>
以上是 Ruby on Rails的两个条件 的全部内容, 来源链接: utcz.com/qa/266486.html