我有一个简单的 rails 搜索表单,它将在表中选择 3 个不同等级的列上的等级。但我不能扩展复数等级。
餐桌食品:value1、rank_value1、value2、rank_value2、value3、rank_value3
查看 /foods/index.html:
<%= form_tag foods_path, :method => 'get' do %>
<p>
rank_value1
<%= text_field_tag :rvalue1, params[:rvalue1] %>
<%= submit_tag "Search", :name => nil %>
</p>
<% end %>
食物模型.rb:
def self.search(search)
if search
Food.where(["rank_value1= ?", "#{search}"])
else
Food.all
end
end
控制器food_controller.rb:
def index
@foods = Food.search(params[:rvalue1])
end
为了扩大两个等级,我尝试了下面的代码,但没有奏效。
查看 /foods/index.html:
<%= form_tag foods_path, :method => 'get' do %>
<p>
rank_value1
<%= text_field_tag :rvalue1, params[:rvalue1] %>
<%= text_field_tag :rvalue2, params[:rvalue2] %>
<%= submit_tag "Search", :name => nil %>
</p>
<% end %>
食物模型.rb:
def self.search(search1,search2)
if search
Food.where(["rank_value1= ? and rank_value2=?", "#{search1}", "# {search2}"])
else
Food.all
end
end
控制器food_controller.rb:
def index
@foods = Food.search(params[:rvalue1], params[:rvalue2])
end
关于在多列中搜索数据的任何建议?