Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 3 为什么我不能访问此字段?(第3条)_Ruby On Rails 3 - Fatal编程技术网

Ruby on rails 3 为什么我不能访问此字段?(第3条)

Ruby on rails 3 为什么我不能访问此字段?(第3条),ruby-on-rails-3,Ruby On Rails 3,我真的不明白为什么我不能访问类帖子的user\u id字段。我的数据库中有一个字段,我可以看到它,它不是空的。但出于某种原因,我得到了这个错误: undefined method `user_id' for #<Class:0x103497448> Extracted source (around line #10): 7: <h2>Topics</h2> 8: <% @board.topics.each do |topic| %> 9:

我真的不明白为什么我不能访问类帖子的user\u id字段。我的数据库中有一个字段,我可以看到它,它不是空的。但出于某种原因,我得到了这个错误:

undefined method `user_id' for #<Class:0x103497448>
Extracted source (around line #10):

7:   <h2>Topics</h2>
8:   <% @board.topics.each do |topic| %>
9:     <% @post = topic.posts(1) %>
10:     <b><%= User.find(@post.user_id).username %> says <%= link_to topic.subject,      [@board, topic] %></b><br />
11:   <% end %>
12: <% end %>
13: 
topic.posts1将返回一个数组。因此

获取某个主题的第一篇帖子的正确方法是

9:     <% @post = topic.posts.first %>
10:     <b><%= User.find(@post.user_id).username %> says <%= link_to topic.subject,      [@board, topic] %></b><br />

试试这个@post=topic.posts1,你打算做什么?这是该主题的第一篇帖子。一个主题有很多帖子-我想得到每个主题的第一篇帖子,然后找到发帖子的用户你确定你在@post变量中得到了正确的帖子吗?我想我没有-我得到了一些随机的泛型对象。但我不知道如果我做了topic.posts,为什么我会得到这些