我正在为当地的狗收养创建一个“match.com”风格的应用程序,用户或狗可以在其中创建个人资料。在每个配置文件中,都有布尔字段。我想在狗配置文件中显示具有相同true
值的正确狗,并在用户配置文件中显示相应的布尔字段。在示例中,如果Dog.kids_under_10
和User.profile.kids_under_10
匹配,则显示狗。我可以使用String
or Integer
( 1
or 0
) 来完成此操作,但我正在尝试学习编写代码的最佳方法。
我最终将传递额外的参数,但我认为一旦我了解如何使下面的示例正常运行,我应该能够使用相同的逻辑根据需要简单地添加参数。
控制器:
@user = current_user.profile
@dogs = Dog.by_profile(params[@user.kids_under_10])
模型:
def self.by_profile(user_profile)
Dog.where('kids_under_10 = ?', user_profile )
end