Ruby on rails ActiveRecord正在执行向后联接
一般来说,我对Rails和Ruby还不熟悉,并假设这是一个相当简单的设置问题。我有两个模型,Ruby on rails ActiveRecord正在执行向后联接,ruby-on-rails,ruby,activerecord,rails-activerecord,Ruby On Rails,Ruby,Activerecord,Rails Activerecord,一般来说,我对Rails和Ruby还不熟悉,并假设这是一个相当简单的设置问题。我有两个模型,食品和测量,它们如下: 食品:名称,上菜尺寸,尺码,[…] 测量:名称 食品.rb has_one :measurement has_many :foods 测量.rb has_one :measurement has_many :foods (我也尝试过:食物:属于:测量和测量:属于许多和一系列其他场景) 我正在尝试基于food.measurement\u id显示measurement nam
食品
和测量
,它们如下:
食品:名称
,上菜尺寸
,尺码
,[…]
测量:名称
食品.rb
has_one :measurement
has_many :foods
测量.rb
has_one :measurement
has_many :foods
(我也尝试过:食物:属于:测量
和测量:属于许多
和一系列其他场景)
我正在尝试基于food.measurement\u id
显示measurement name属性,在SQL中为:
SELECT *
FROM Food
JOIN Measurement on Food.measurement_id = Measurement.id
我试着简单地把它放在我的标记中:
,但生成的SQL在我看来是倒退的:
没有这样的列:measurements.food_id:选择“measurements”。*从“measurements”中选择“measurements”。“food_id”=?限制1
我还在控制器中尝试了许多不同的连接,所有这些连接都给出了类似的错误或错误,这些错误告诉我我还远远不够。如果
食品有一个测量id
列,那么食品属于测量,一个测量有很多食品:
class Food < ActiveRecord::Base
belongs_to :measurement
end
class Measurement < ActiveRecord::Base
has_many :foods
end