Nic*_*yyz 5 ruby-on-rails controllers ransack
我有两个不同的控制器(scholarships_controller,scholarships_browse_controller)来看奖学金模型.我希望我的Ransack搜索功能在当前页面上显示搜索结果.所以,例如,如果我在/ scholarships_browse并且我使用搜索功能,我希望它使用scholarships_browse_controller并在/ scholarships_browse上显示结果.
目前,如果我搜索/ scholarships_browse,它会使用scholarships_controller并重定向到/奖学金以显示结果(而不是/ scholarships_browse).
ScholarshipsBrowseController和ScholarshipsController代码
def index
@search = Scholarship.search(params[:q])
@scholarships = @search.result.page(params[:page]).per(3) #allows 3 scholarships on a page at a time
@search.build_condition
respond_to do |format|
format.html # index.html.erb
format.json { render json: @scholarships }
end
Run Code Online (Sandbox Code Playgroud)
结束
奖学金代码浏览index.html.erb:
<%= search_form_for @search do |f| %>
<%= f.condition_fields do |c| %>
<div class="field">
<%= c.attribute_fields do |a| %>
<%= a.attribute_select %>
<% end %>
<%= c.predicate_select compounds: false, only: [:cont, :eq, :gt, :lt] %>
<%= c.value_fields do |v| %>
<%= v.text_field :value %>
<% end %>
</div>
<% end %>
<div class="actions"><%= f.submit "Search" %></div>
<% end %>
Run Code Online (Sandbox Code Playgroud)
所以,我想特别是我问我如何确保在使用/ scholarships_browse时使用ScholarshipsBrowseController索引而不是ScholarshipsController索引?
ror*_*rra 12
在你看来:
<%= search_form_for @search, url: RAILS_ROUTEHERE do |f| %>
...
<%- end %>
Run Code Online (Sandbox Code Playgroud)
search_form_for是它的扩展名form_for
,所以你可以使用:url
参数来告诉表单它应该是什么动作(你可以在浏览器上渲染它时检查页面源代码,你可以检查标签<form action="">
以确保它指向正确的路线.
归档时间: |
|
查看次数: |
2271 次 |
最近记录: |