Ruby on rails Rails通过子级连接条件以获得输出

Ruby on rails Rails通过子级连接条件以获得输出,ruby-on-rails,ruby-on-rails-3,join,associations,Ruby On Rails,Ruby On Rails 3,Join,Associations,我有一个清单模型,它附带了一个属性模型。该属性链接到一个位置。我正在尝试通过属性位置选择所有列表,属性位置由id传入。到目前为止,我一直在努力: @location = Location.find(params[:id]) @listings = Listing.find(:all, :joins => [:property], :conditions => ["properties.location_id = ? ", @location]) 理想情况下,我希望类似于“查找pr

我有一个清单模型,它附带了一个属性模型。该属性链接到一个位置。我正在尝试通过属性位置选择所有列表,属性位置由id传入。到目前为止,我一直在努力:

@location = Location.find(params[:id])

@listings = Listing.find(:all, :joins => [:property], :conditions => ["properties.location_id = ? ", @location])
理想情况下,我希望类似于“查找property.location\u id=@location的所有列表”

这个错误正在发生,但我读到这是因为我使用的是mysql gem而不是mysel2 gem(不幸的是,我使用的是Windows机器)

未定义的方法“解释”#

任何帮助都将不胜感激


关于

您将整个位置对象赋予参数,但只需要id:

@location = Location.find(params[:id])

@listings = Listing.find(:all, 
                         :joins => [:property], 
                         :conditions => ["properties.location_id = ? ",
                                         @location.id])

这可能是一个解决方案。我认为Location会序列化为#之类的东西,这会把新rails中缓慢的查询代码搞得一团糟