Rails 2.3.3
数据库和模型架构
用户(身份证,姓名,电子邮件)
帖子(id,subject,message,user_id)
如何显示创建特定帖子的用户的name
?
#posts controller #index action - retrieves all posts in descending order. #I also want it to retrieve user information of that post def index @posts = Post.all( :order => "created_at DESC") respond_to do |format| format.html end end
#partial _post.html.erb Posted by "??how can show the user name here??"
我已使用有效记录关联修改了user.rb
和post.rb
并设置了外键。即post.user_id
引用user.id
。
但是如何在index
操作中显示每个帖子的用户信息?
答案 0 :(得分:2)
<%= post.user.name%>鉴于帖子记录中存储了有效的user_id。
答案 1 :(得分:1)
我将你问题的更大版本构建为:“我如何在Ruby on Rails应用程序中理清模型之间的关系?”
我发现最有用的是使用“脚本/控制台”来探索可用的内容。
在终端中,cd到rails root并输入“script / console”,这将启动一个可以在其中创建对象的新命令行。
在这种情况下,您可以输入类似以下内容的内容来理清可用的内容。
p = Post.find(:first)
p.user
p.user.name
答案 2 :(得分:0)
您可以在rails控制台中查看此内容。 Post.first.user.name
你想在视图中显示它, @ posts.each do | post | <%= post.user.name%> 端
希望它会有所帮助。