rails find_by三个字段 - 是否可能?

时间:2014-05-25 14:30:50

标签: ruby-on-rails ruby activerecord

是否可以将find_by用于超过2个字段?

像:

feedback = Feedback.find_by_field_a_and_field_b_and_field_c("A", "B", "C")

2 个答案:

答案 0 :(得分:5)

是的,这在Rails 3中是可行的,但在Rails 4中已弃用。因此建议使用此语法(如果使用Rails 4):

feedback = Feedback.find_by(field_a: "A",field_b: "B",field_c: "C")

请参阅find_by的api文档。

如果你仍然使用Rails 3,那么最好这样做(出于性能原因并且因为它更接近Rails 4语法):

feedback = Feedback.where(field_a: "A",field_b: "B",field_c: "C").first

答案 1 :(得分:0)

你可以这样做:

feedback = Feedback.where(field_a: 'A',field_b: 'B',field_c: 'C')