Jen*_*unt 0 ruby-on-rails ruby-on-rails-3
有没有办法用rails3搜索功能中的select替换text_field_tag?
我目前的搜索表单:
<%= form_tag orders_path, :method => 'get', :id => "orders_search" do %>
<p><%= text_field_tag :search, params[:search] %>
<%= submit_tag "Search", :name => nil %></p>
Run Code Online (Sandbox Code Playgroud)
我想用下拉列表替换以限制/过滤我的客户结果.我试过这个:
<%= select :search, params[:search], ([["Pending"], ["Open"], ["Closed"]]) %>
Run Code Online (Sandbox Code Playgroud)
但是这会在日志中给出500错误和输出:
TypeError (expected Array (got String) for param `search'):
Run Code Online (Sandbox Code Playgroud)
我也尝试过:
<%= select :search, ([["Pending"], ["Open"], ["Closed]]) %>
Run Code Online (Sandbox Code Playgroud)
这会导致参数数量无效.
最好的方法是什么?
你可以做你需要的事情:
<%= select_tag "search", options_for_select([ "Pending", "Open", "Closed" ], params[:search]) %>
Run Code Online (Sandbox Code Playgroud)
- 编辑 -
要在application.js中提交表单,请选择添加以下内容(如果您使用jQuery):
$(document).ready(function() {
$("select#search").change(function(){
$(this).closest("form").submit();
});
});
Run Code Online (Sandbox Code Playgroud)
关于此,已经有很少的堆栈溢出答案.
| 归档时间: |
|
| 查看次数: |
3464 次 |
| 最近记录: |