我在铁轨上打招呼,所以我甚至不确定这是否可行,如果没有请写给我。
我的目标是编写一个搜索功能来搜索db。
表单基于check_box_fields,它发送两个数组clan
和class
。然后它通过数据库进行搜索。但我不知道如何设置多个属性值来记录。
搜索引擎:
def self.school_search(clan, class)
School.where(clan: clan, class: class)
end
在我的种子文件中我创建了几个对象:
schools = [
{ nazwa: "Smok Bushi",
clan: "Smok",
class: "Bushi"
},
{ nazwa: "Pajak Bushi",
clan: "Pajak",
class: "Bushi", "Shugenja"
}
]
schools.each do |school|
School.create(school)
end
当我搜索一个我发送params氏族的对象时,一切都很顺利:" Smok"和班" Bushi"和对象被选中。但我希望第二个对象可以被任何一个部族找到:" Pajak"上课:" Bushi"或氏族:" Pajak"上课:" Shugenja"。我试图将此值作为数组传递,但它没有帮助。
编辑:使用英文名称作为属性
答案 0 :(得分:1)
实际上,正如您所说,您可以将数组传递给属性。所以也许你做错了其他事情。
Active Records' Documentation很清楚(阅读"条件"子部分)。
编辑:添加示例代码以澄清
# This works
Model.where(title: ['Hello', 'Rails'])
答案 1 :(得分:0)
您无法为一个属性指定多个值。也许你应该创建协会学校有很多klasa和klasa属于学校。 附:最好使用英语单词而不是波兰语(klasa = class)