我有一个属性搜索页面 (:controller => 'properties', :action => 'index'),它由一个右侧边栏组成,该边栏有一个搜索表单,在表单下方显示搜索结果。当用户单击右侧边栏中的属性时,我想在左侧索引页面的主要区域中显示该属性的详细信息。
右侧边栏是一个名为 properties/_property.html.erb 的部分:
<%= form_tag properties_path, :method => 'get' do %>
<%= text_field_tag 'location', (params[:location]) %>
<%= select_tag(:max, options_for_select([['No Max', ""], ['$100,000', 100000], ['$200,000', 200000], etc %>
more search fields for baths beds etc
<%= submit_tag "Search", :name => nil %>
<% end %>
<% @properties.each do |property| %>
<%= link_to([property.Address,property.City].join(", "), {:action => 'show', :id => property.id}) %>
<li><strong><%= number_to_currency(property.Price, :precision => 0) %></strong></li>
etc etc
<% end %>
我知道如何显示属性详细信息的唯一方法是使用“显示”操作,但这会将用户带到一个新页面,例如 localhost:3000/properties/1865。我制作了与“索引”视图具有相同布局的“显示”视图,并使右侧边栏成为部分(properties/_property.html.erb),它同时出现在“显示”和“索引”上,所以当用户单击右侧边栏中的属性并转到 localhost:3000/properties/1865 属性详细信息正确显示在主区域中,右侧边栏在右侧。
但是因为 localhost:3000/properties/1865 与 localhost:3000/properties/index 是不同的页面,所以右侧边栏中的搜索表单忘记了它的参数,这意味着右侧边栏中的搜索结果列表已更改回默认列表的所有属性。
如何在索引页面的部分中显示“显示”操作,以便右侧边栏中的表单记住用户的搜索参数?或者,如果我必须进入“显示”页面,我怎样才能让右侧边栏保持原样?
任何想法都非常感谢,只是一个正确方向的建议会很好,花了一整天的时间试图弄清楚但无处可去,谢谢