0
我想使用Ransack在我的代码中实现Rails应用程序的搜索功能。每当我从索引页面进行搜索时,屏幕会短暂闪烁,但索引页面根本不会改变。Ransack不改变索引页面
这里是我的搜索表单代码:
<div id="search">
<% content_for :search do %>
<%= search_form_for @search do |f| %>
<div class="field">
<%= f.label :name, "Restaurant Name:" %>
<%= f.text_field :name, size: 50 %>
</div>
<div class="field">
<%= f.label :address1, "Address (first line)" %>
<%= f.text_field :address1, size: 50 %>
</div>
<div class="field">
<%= f.label :city, "City" %>
<%= f.text_field :city, size: 50 %>
</div>
<div class="field">
<%= f.label :state, "State" %>
<%= f.text_field :state, size: 2 %>
</div>
<div class="field">
<%= f.label :zip, "ZIP Code" %>
<%= f.text_field :zip, size: 5 %>
</div>
<div class="actions">
<%= f.submit "Search" %>
</div>
<% end %>
<% end %>
</div>
这里是我的控制器中的索引操作:
def index
@search = Restaurant.search(params[:q])
@restaurants = @search.result.order('name').page(params[:page]).per(10)
end
这是当我尝试搜索的内容打印到我的控制台在名称字段中的“另一个”字样:
Started GET "/restaurants?utf8=%E2%9C%93&q%5Bname%5D=Another&q%5Baddress1%5D=&q%5Bcity%5D=&q%5Bstate%5D=&q%5Bzip%5D=&commit=Search" for 162.228.136.142 at 2017-04-02 16:04:12 +0000
Cannot render console from 162.228.136.142! Allowed networks: 127.0.0.1, ::1, 127.0.0.0/127.255.255.255
Processing by RestaurantsController#index as HTML
Parameters: {"utf8"=>"✓", "q"=>{"name"=>"Another", "address1"=>"", "city"=>"", "state"=>"", "zip"=>""}, "commit"=>"Search"}
Rendering restaurants/index.html.erb within layouts/application
Rendered restaurants/_restaurant_search_form.html.erb (2.3ms)
Restaurant Load (0.5ms) SELECT "restaurants".* FROM "restaurants" ORDER BY name LIMIT ? OFFSET ? [["LIMIT", 10], ["OFFSET", 0]]
(0.1ms) SELECT COUNT(*) FROM "restaurants"
Rendered restaurants/index.html.erb within layouts/application (41.0ms)
Completed 200 OK in 132ms (Views: 128.9ms | ActiveRecord: 0.6ms)