在Ruby on Rails中选择属性为true的对象具有属性名称

时间:2014-07-05 13:54:49

标签: ruby-on-rails sqlite

我在Ruby on Rails中遇到了Sqlite的问题。我有一个带有一些布尔属性的模型。我从视图中获取属性的名称(数据库中的列),我需要选择将该属性设置为 true 的所有对象。 从this主题我发现,对于搜索查询,我需要写一下:

def self.search(search, id)
 if search
   where(['name LIKE ?', "%#{search}%"])
 else
  scoped
 end
end

我认为查询非常相似,但我真的不知道如何将它传达给数据库。有什么建议吗?

1 个答案:

答案 0 :(得分:1)

您关联的主题与您的问题无关。

假设您的属性名称是一个字符串并存储在params[:attribute]中,而Post是您的模型。

在你的行动中

@posts = Post.where(params[:attribute].to_sym => true)