还有其他一些问题,就像我的问题一样,但它们都对我没有实际作用。
我有一个Rails项目,其中有3个模型:Unity,City,State,它们之间的关系如下:
class City < ApplicationRecord
belongs_to :state
has_many :unities
end
class State < ApplicationRecord
has_many :cities
end
class Unity < ApplicationRecord
belongs_to :city
belongs_to :state, through: :city
end
我希望我可以根据其city.name或state.name来订购我的单位,也可以根据其state.name来订购城市。但我只是想不通。例如,我尝试在StackOverflow上的某个问题中建议使用City.all.joins(:state).order('state.id')
,但它给了我missing FROM clause entry for 'city'
。我该怎么做?
答案 0 :(得分:1)
应为order('states.id')
,而不是order('state.id')
。 Order子句期望表名而不是关联名。