Ruby on rails 是否查询主键以外的列?

Ruby on rails 是否查询主键以外的列?,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,我有一个部分设置,可以将每天收到的iTunes销售数据带进来。我想在我的产品页面等上显示。我的产品都有主键,但iTunes销售数据表中没有主键,因此我需要使用UPC列作为下一个最佳唯一标识符进行查找。这可能很简单,但我该怎么做呢 <% render @product.itunes_datas %> 我只是在控制器中定义另一个方法吗 我需要这是灵活的,如果可能的话,因为产品级查找将由UPC进行,而跟踪级查找将通过ISRC代码进行 提前感谢。我不确定您是如何从苹果获得UPC信息的,但

我有一个部分设置,可以将每天收到的iTunes销售数据带进来。我想在我的产品页面等上显示。我的产品都有主键,但iTunes销售数据表中没有主键,因此我需要使用UPC列作为下一个最佳唯一标识符进行查找。这可能很简单,但我该怎么做呢

 <% render @product.itunes_datas %>
我只是在控制器中定义另一个方法吗

我需要这是灵活的,如果可能的话,因为产品级查找将由UPC进行,而跟踪级查找将通过ISRC代码进行


提前感谢。

我不确定您是如何从苹果获得UPC信息的,但只要您拥有这些信息,您就可以使用您最喜欢的以下方法中的任何一种进行查找:

ItunesData.where(:upc => 'UPC_Information_Here').all
ItunesData.find_all_by_upc('UPC_Information_Here')

它们彼此完全相同,将根据您指定的列而不是主键查找信息。

谢谢,这看起来很完美!列名是否为“UPC信息”部分?(我有一份来自苹果的每日报告,我正在导入db btw)。不,列名要么在符号中,要么在方法名中。更一般的情况类似于
ItunesData.where(:column\u name=>'column\u data')。all
ItunesData.find\u all\u by\u column\u name('column\u data')
。啊,好的,这很有意义。谢谢嗯,正如我所做的@product.itunes\u data一样,它仍然在itunes表中查找产品id:从“itunes\u data”中选择“itunes\u data”。“product\u id”=66 Rails查找关联信息的默认方式是通过主键,所以说
@product.itunes\u data
将执行主键查找。您可以更改关联使用的密钥,也可以不从产品中查找itunes_数据。
ItunesData.where(:upc => 'UPC_Information_Here').all
ItunesData.find_all_by_upc('UPC_Information_Here')