Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.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 ActiveRecord正在执行向后联接_Ruby On Rails_Ruby_Activerecord_Rails Activerecord - Fatal编程技术网

Ruby on rails ActiveRecord正在执行向后联接

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

一般来说,我对Rails和Ruby还不熟悉,并假设这是一个相当简单的设置问题。我有两个模型,
食品
测量
,它们如下:

食品:
名称
上菜尺寸
尺码
[…]

测量
名称

食品.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