我有一串不定内容的hash:
input_params = Hash.new
input_params[:brand_id] = params[:brands] if params[:brands]
input_params[:product_class_id] = params[:product_classes] if params[:product_classes]
input_params[:product_material_id] = params[:product_materials] if params[:product_materials]
input_params[:product_style_id] = params[:product_styles] if params[:product_styles]
然后我要搜索的话就
@products = Product.find(:all, :conditions => input_params)
现在我还要加入个search:
@products = Product.find(:all, :conditions => ["title like ?","%"+params[:search]+"%"]) if (params[:search])
请问我要同时满足hash和search,怎么把这两个conditions合成一句话?或者怎么满足我的需求?
谢谢!
问题补充:jsntghf 写道
看看这篇文章对你是否有帮助:http://2015.iteye.com/blog/1138749
非常感谢。 看了这篇文章觉得差不多了。还有一个小地方。如果我要要这样怎么办呢:
search_keyword = "%"+params[:search]+"%"
conditions类似于下面:
brand_id = 1 AND product_class_id = 1 AND (title like search_keyword OR description like search_keyword)
就是AND和OR混编。 不过这两个search_keyword内容都是一样的。
相关推荐
标题 "ruby 1.8.7 rails 2.3.4" 提及的是 Ruby 语言的一个较旧版本(1.8.7)以及与其兼容的 Rails 框架的老版本(2.3.4)。Ruby 是一种面向对象的、动态类型的编程语言,而 Rails 是一个基于 MVC(模型-视图-控制器...
本资源是在Rails开发先行的时候确定可以运行的Rails工程,可以直接用此代码运行画面
在实际开发中,这些 gem 文件可能是为了重新创建一个旧的 Rails 环境,或者进行历史版本的代码审查和测试。要使用这些 gem,开发者需要安装 Ruby 环境,然后通过 `gem install` 命令来安装这两个特定的版本。之后,...
在 Rails 应用中使用 Cucumber-Rails,开发者可以创建一个名为`features`的目录,里面包含这些Gherkin特性文件。每个特性文件描述了一个或多个业务场景,并使用关键字`Given`、`When`、`Then`等来定义步骤。这些步骤...
在Ruby on Rails(Rails)框架中,上传和转换视频是一个常见的需求,特别是在构建涉及多媒体内容的Web应用时。Rails提供了一系列工具和库,使得开发者能够方便地处理这种任务。本篇文章将详细介绍如何在Rails中实现...
例如,可以使用`Hash.new`定义一个Hash,并在定义时指定默认值。 在Rails的CRUD操作中,使用`find`方法可以检索数据库中的特定对象。此外,教程中还涉及到如何使用`SYNTAX`或`put`方法来输出对象属性值,例如`puts ...
- 测试安装: 创建一个简单的Rails应用来验证是否成功安装。 #### 五、练习作业0-Hello World - **目标**: - 学习如何创建第一个Rails应用程序。 - **过程**: - 创建新项目。 - 设置数据库配置。 - 创建控制器...
这个“Rails项目源代码”是一个使用Rails构建的图片分享网站的完整源代码,它揭示了如何利用Rails的强大功能来创建一个允许用户上传、分享和浏览图片的应用。 1. **Rails框架基础**: Rails的核心理念是DRY(Don't...
标题 "grails-maven-archetype-2.3.4.zip" 暗示这是一个Grails框架的Maven构建模板,版本为2.3.4。Grails是基于Groovy语言的开源Web应用框架,它简化了开发过程,提供了一种更加简洁、高效的编程模型。Maven则是一个...
- **步骤**:通过命令行使用`rails new project_name`来初始化一个新的Rails项目。 - **结构**:新项目将包含默认的目录结构,如`app`、`config`、`db`等,分别用于存放应用程序代码、配置文件、数据库迁移脚本等。 ...
随着Rails版本的更新迭代,此书聚焦于一个特定的版本,帮助开发者掌握在Rails 4.0环境下开发应用所需的关键技能。 书中介绍了Ruby on Rails安装的最佳实践,以及如何通过Git、编辑器和Linux命令行等前置技能的学习...
`GoOnRails`是专门为Rails开发者设计的一个生成器,它允许在Rails应用中集成Go代码,创建Go API服务。这个工具简化了在Rails项目中使用Go进行后端处理的流程,使开发者可以利用Go的性能优势处理高并发请求,同时保留...
在Rails中,数据库查询主要通过ActiveRecord来实现,这是一个强大的ORM(对象关系映射)工具,能够将数据库表与Ruby类关联,简化数据操作。 描述中虽然没有具体信息,但我们可以推测这可能是一篇关于Rails中查询...
总的来说,`Log Like Rails` 提供了一个强大的日志系统,使得 Laravel 开发者可以像在 Ruby on Rails 中一样方便地追踪和分析应用程序的行为,这对于大型项目或复杂的业务逻辑来说是非常有用的工具。它能够帮助提升...
例如,要在Rails应用中创建一个新的资源,如博客文章,你需要在models目录下创建一个名为`post.rb`的文件,定义Post类,并设置属性如标题和内容。在controllers目录下创建`posts_controller.rb`,定义控制器方法,如...
Rails 4.0.0是Ruby on Rails框架的一个重要版本,它在2013年发布,带来了许多改进和新特性,旨在提升开发效率和应用性能。Ruby on Rails(简称Rails)是一个基于Ruby语言的开源Web应用程序框架,遵循MVC(模型-视图-...
通过以上步骤,你可以在Rails应用中实现一个基本的文件上传进度条功能。这个功能不仅提升了用户体验,还能帮助用户了解文件上传的状态,避免了因为不确定的等待时间而产生的焦虑感。在实际项目中,你还可以根据需求...
Rails 2.0 API 文档是一个非常宝贵的资源,它为开发者提供了全面的指南,以便于在使用Ruby on Rails 2.0版本时更好地理解和利用其框架功能。Ruby on Rails(简称Rails)是一个开源的Web应用框架,它遵循MVC(模型-...
标题 "Rails" 指的是 Ruby on Rails,一个开源的Web应用程序框架,它基于Ruby编程语言,遵循MVC(模型-视图-控制器)架构模式。Rails由David Heinemeier Hansson在2004年创建,其设计理念是强调代码的简洁性、DRY...