Ruby on rails Rails 4具有两个以上参数的简单搜索表单
我一直在创建一个简单的搜索表单,允许我输入3个不同的条件,以便在库存中找到一辆车。这三个标准是汽车VIN、汽车型号或汽车颜色。到目前为止,我所做的只是允许我搜索VIN编号或颜色,但每当我输入型号时,搜索不会返回任何内容 这是控制器:Ruby on rails Rails 4具有两个以上参数的简单搜索表单,ruby-on-rails,search,ruby-on-rails-4,Ruby On Rails,Search,Ruby On Rails 4,我一直在创建一个简单的搜索表单,允许我输入3个不同的条件,以便在库存中找到一辆车。这三个标准是汽车VIN、汽车型号或汽车颜色。到目前为止,我所做的只是允许我搜索VIN编号或颜色,但每当我输入型号时,搜索不会返回任何内容 这是控制器: def index #@cars = Car.all @cars = Car.search(params[:search], params[:car_VIN], params[:car_model], params[:car_color]).page(param
def index
#@cars = Car.all
@cars = Car.search(params[:search], params[:car_VIN], params[:car_model], params[:car_color]).page(params[:page])
结束
这是我的模型:
def self.search(search, car_VIN, car_model, car_color)
if search
where('car_VIN LIKE ? OR car_model LIKE ? OR car_color LIKE ?', "%#{search}%", "%#{search}%", "%#{search}%")
else
where(nil)
end
结束
以下是我的看法:
<%= form_tag cars_path, :method => 'get' do %>
<p>
<%= text_field_tag :search, params[:search], :placeholder => "Car VIN, model or color" %>
<%= submit_tag "Search", :name => nil %>
</p>
“get”do%>
“汽车VIN、型号或颜色”%>
零%>
我真的无法确定为什么它在输入车型时不会返回物品,但如果输入VIN或颜色,它会返回物品。感谢您的帮助。大掌心。。。
花了一个小时后,我意识到我没有在搜索表中输入车型,但车辆制造商,因此输入丰田不会返回任何东西,但输入卡罗拉会返回任何东西。
无论如何,因为我最初发布的模型/控制器/视图是有效的,所以可以随意使用它作为参考