Ruby on rails 在rails中按复选框过滤
我的rails应用程序“按复选框搜索”中有一个问题 这是我的复选框代码:Ruby on rails 在rails中按复选框过滤,ruby-on-rails,ruby-on-rails-4,checkbox,Ruby On Rails,Ruby On Rails 4,Checkbox,我的rails应用程序“按复选框搜索”中有一个问题 这是我的复选框代码: <form action="<%= search_path %>" method="get"> <%= check_box_tag :title, params[:title] %> Title <input type="submit" value="Fielter" /> </form> 如何搜索标题,如ABC&删除默认的=on 我需要这样: http
<form action="<%= search_path %>" method="get">
<%= check_box_tag :title, params[:title] %> Title
<input type="submit" value="Fielter" />
</form>
如何搜索标题,如ABC
&删除默认的=on
我需要这样:
http://localhost:3000/search?title=ABC
谢谢
复选框标记(name,value=“1”,checked=false,options={})
我相信默认值来自复选框标签中的参数[:title]
因为当您使用
时,将使用HTML等效项
<input id="title" name="title" type="checkbox" value="on" /> #assumning the value of params[:title] is on
假设参数[:title]的值为on
因此,复选框的值总是在上
试着把它改成
<%= check_box_tag :title %> Title
标题
复选框标记(name,value=“1”,checked=false,options={})
我相信默认值来自复选框标签中的参数[:title]
因为当您使用
时,将使用HTML等效项
<input id="title" name="title" type="checkbox" value="on" /> #assumning the value of params[:title] is on
假设参数[:title]的值为on
因此,复选框的值总是在上
试着把它改成
<%= check_box_tag :title %> Title
标题
如果没有javascript,特定的url模式可能很难实现,但通过处理服务器端的逻辑,您可以相当轻松地获得所需的结果(仅当选中复选框时才搜索标题)
只需修改表单,使其标题始终作为隐藏字段(因此在提交时它始终作为参数传递)以及复选框,复选框将作为参数传递为1或0(true或false),具体取决于是否选中该复选框。然后,处理搜索路径中的逻辑:如果checkbox参数为true,则根据title参数进行搜索。如果复选框为false,则不要使用title参数
<form action="<%= search_path %>" method="get">
<%= hidden_field_tag "title", :title %>
<%= check_box_tag :use_title %> Title
<input type="submit" value="Fielter" />
</form>
在控制器动作中:
if params[:use_title]
do_something # Use params[:title] in your search
else
do_something_else # Don't use params[:title] in your search
end
这会给你想要的行为 如果没有javascript,特定的url模式可能很难实现,但是通过处理逻辑服务器端,您可以相当轻松地获得所需的结果(仅当选中复选框时才搜索标题) 只需修改表单,使其标题始终作为隐藏字段(因此在提交时它始终作为参数传递)以及复选框,复选框将作为参数传递为1或0(true或false),具体取决于是否选中该复选框。然后,处理搜索路径中的逻辑:如果checkbox参数为true,则根据title参数进行搜索。如果复选框为false,则不要使用title参数
<form action="<%= search_path %>" method="get">
<%= hidden_field_tag "title", :title %>
<%= check_box_tag :use_title %> Title
<input type="submit" value="Fielter" />
</form>
在控制器动作中:
if params[:use_title]
do_something # Use params[:title] in your search
else
do_something_else # Don't use params[:title] in your search
end
这会给你想要的行为 从
default
值的来源?尝试将其更改为Title
从default
值的来源?尝试将其更改为Title
谢谢@pavan,解决问题,但现在创建一个问题,显示单个复选框结果,我需要显示多个复选框选中的结果,这怎么可能?谢谢@pavan,解决了问题,但现在创建一个问题,显示单个复选框结果,我需要显示多个复选框结果,这怎么可能?