【发布时间】:2010-11-01 11:41:44
【问题描述】:
我想在添加下拉菜单时添加条件的 Rails 应用程序中进行 SQL 查询。显然,如果未选择下拉菜单,我不想使用空白条件进行搜索。如何在 SQL 语句中开发动态条件?
未经测试的示例:
当没有选择下拉菜单时:Object.find("billy," :conditions => {})
选择下拉列表时:Object.find("billy," :conditions => {"last_name => "johnson"})
感谢您的意见!
【问题讨论】:
-
快速说明,Ruby 本身不执行 SQL,您具体询问的是 Rails、ActiveRecord :-)
-
如果您使用 ActiveRecord,Object 不是模型的好名称,因为它是 Ruby 中的核心类之一。如果您要通用,请尝试模型或事物。 #2 - Thing.find("billy", :conditions => { etc.. } ) 也不起作用。如果您以某种方式将 Thing 设置为具有值为“billy”的 ID 列,那么您可以说 Thing.find("billy"),不需要条件。如果你使用条件,你通常需要 Thing.find :first, :conditions => { etc.. } 或 Thing.find :all, :conditions => { etc.. }。下面你有一些很好的答案,由于这个问题,这些答案不会运行。
-
@austinfromboston 我同意,但我有一种感觉,他只是用那个作为例子,而不是实际使用那个类......至少,我希望他没有使用那个类......
标签: sql ruby-on-rails search activerecord conditional-statements