尽管我在模型中包含“belongs_to”,但未找到关联

时间:2016-05-26 15:28:29

标签: ruby-on-rails ruby-on-rails-4 associations belongs-to

我正在使用Rails 4.2.3。尽管事实上我在模型中包含了“belongs_to”子句,但我无法在我的视图中显示关联。在我的app / models / my_object_time.rb文件中我有

class MyObjectTime < ActiveRecord::Base
  belongs_to :my_object
end

在我的控制器中,我使用

将一些对象返回到视图中
    @user_my_object_times = MyObjectTime.joins(:my_objects).where("my_object.user_id = #{session['user_id']}")

然后在我看来,我称之为

<% @user_my_object_times.each do |my_object_time| %>
    <tr>
            <td><%= my_object_time.my_object.name %></td>

但我收到了错误

Association named 'my_objects' was not found on MyObjectTime; perhaps you misspelled it?

我做错了什么?

编辑:在回复编辑时,我编辑了我的查询

@user_my_object_times = MyObjectTime.joins(:my_objects).where("my_objects.user_id = #{session['user_id']}")

不幸的是,我仍然得到错误。

1 个答案:

答案 0 :(得分:0)

  

在MyObjectTime上找不到名为“my_objects”的关联;也许   拼错了吗?

您应该使用belongs_to作为where关联。同样在@user_my_object_times = MyObjectTime.joins(:my_object).where("my_objects.user_id = #{session['user_id']}") #^ singular ^ plural 子句中,始终使用 关系的多元化名称(实际上,表名称) 。所以你的查询将是

collect