Ruby on rails Rails将记录从视图传递到控制器
在Rails 3应用程序中,我有一个包含搜索逻辑的视图。查看页面时,Ruby on rails Rails将记录从视图传递到控制器,ruby-on-rails,Ruby On Rails,在Rails 3应用程序中,我有一个包含搜索逻辑的视图。查看页面时,@events包含要显示的记录 查看代码: <% @events.each do |event| %> ... 以前,我使用params传递一个id-这是我第一次尝试传递列表 谢谢你的帮助 更新1 我将控制器更改为: def index8 @search = Event.search(params[:q]) @events = @search.result respond_to do |
@events
包含要显示的记录
查看代码:
<% @events.each do |event| %>
...
以前,我使用params传递一个id-这是我第一次尝试传递列表
谢谢你的帮助
更新1
我将控制器更改为:
def index8
@search = Event.search(params[:q])
@events = @search.result
respond_to do |format|
format.html # index.html.erb
format.xlsx
end
end
并将index8 view按钮用于:
<%= link_to "Excel", event_path("index8.xlsx"), :class => 'btn btn-warning' %>
“btn btn警告”%>
但是,我需要将搜索参数返回控制器
更新2
这起到了作用:
<%= link_to "Excel", event_path("index8.xlsx", :q => params[:q]), :class => 'btn btn-warning' %>
params[:q]),:class=>“btn btn警告”%>
您可以将搜索参数传回控制器。或者更好的是,将导出作为搜索/索引的一部分(用作不同的格式)
然后,您可以在指定格式时使用搜索/索引URL:
=链接到“导出”,事件\u url(搜索:params[:search],格式::xlsx)
HTTP仅在视图/表单和服务器之间传递参数。Rails解析HTTP参数并构造参数散列,但不创建AR对象 您可以将搜索参数传回控制器。或者更好的是,将导出作为搜索/索引的一部分(用作不同的格式) 然后,您可以在指定格式时使用搜索/索引URL:
=链接到“导出”,事件\u url(搜索:params[:search],格式::xlsx)
HTTP仅在视图/表单和服务器之间传递参数。Rails解析HTTP参数并构造参数散列,但不创建AR对象 使用不同格式的相同搜索效果非常好!谢谢我认为它奏效了。但是,它实际上是将所有事件放入XLSX。我将公布我在问题中所做的。我如何通过按钮将搜索参数返回控制器?这起作用了`params[:q]),:class=>'btn btn warning'>`很高兴它起作用了。检查你的耙路线。如果导出是索引的一部分(而不是
index8
)-您应该能够使用events\u path(q:params[:q])
。使用不同格式的相同搜索效果非常好!谢谢我认为它奏效了。但是,它实际上是将所有事件放入XLSX。我将公布我在问题中所做的。我如何通过按钮将搜索参数返回控制器?这起作用了`params[:q]),:class=>'btn btn warning'>`很高兴它起作用了。检查你的耙路线。如果导出是索引的一部分(不是index8
)-您应该能够使用events\u path(q:params[:q])
。
<%= link_to "Excel", event_path("index8.xlsx"), :class => 'btn btn-warning' %>
<%= link_to "Excel", event_path("index8.xlsx", :q => params[:q]), :class => 'btn btn-warning' %>
# search is part of the index action
def index
search_params = params[:search] || {}
@events = Event.search(search_params)
respond_to do |format|
format.html {}
format.json {}
format.xlsx {}
end
end