Ruby on rails Rails 3-按名称而不是id查找
我正在尝试学习RoR,构建我的第一个应用程序,一个基本的库存应用程序。我试着四处搜索,但找不到正确的语法,所以我想我会问 以下是我的设置: 模型 这将返回我想要的数据,但我希望将供应商名称输入控制器,以便在ID不匹配时仍能正常工作Ruby on rails Rails 3-按名称而不是id查找,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,我正在尝试学习RoR,构建我的第一个应用程序,一个基本的库存应用程序。我试着四处搜索,但找不到正确的语法,所以我想我会问 以下是我的设置: 模型 这将返回我想要的数据,但我希望将供应商名称输入控制器,以便在ID不匹配时仍能正常工作 希望这是足够的信息,谢谢 您可以反转方法位并尝试: @items = Supplier.find_by_name('THE NAME').items Rails创建用于搜索的动态find_by_*和find_all_by_*方法。与按供应商id检索项目不同,我建议您
希望这是足够的信息,谢谢 您可以反转方法位并尝试:
@items = Supplier.find_by_name('THE NAME').items
Rails创建用于搜索的动态find_by_*和find_all_by_*方法。与按供应商id检索项目不同,我建议您让rails使用您在上面的代码片段中设置的关联来为您检索项目。在内部,这仍然使用供应商id,但是rails正在处理这个过程,而不是您
反过来也是可能的,因此,如果您有一个项目并且想要供应商,您可以:
Item.find(1).supplier
其中,colname
是要检查参数值的供应商表列的名称。在rails中,我们只需在列名后面加上find_by_u
,如上图所示,rails将向您展示它的神奇之处;)。这是中的参考资料
@items = Supplier.find_by_name('THE NAME').items
Item.find(1).supplier
@items = Item.joins(:suplier).where(:suplier => { :name => "Suplier name" })
Supplier.find_by_colname(params[:name])