我在使用宝石搜索时遇到困难。我已经在我的gemfile中放置了ransack,然后运行bundle install(虽然我只使用了bundle,这有什么不同吗?我没想到它呢?)
接下来我把它放在我的食谱控制器
中 def all_recipes
@q = Recipe.search(params[:q])
@searchresults = @q.result(:distinct => true)
end
在我的视图(all_recipes)中,我有搜索表单和阻止显示我的结果
<%= search_form_for @q do |f| %>
<%= f.label :dish_name_cont %>
<%= f.text_field :dish_name_cont %>
<%= f.submit %>
<% end %>
---------------------
<% @searchresults.each do |r| %>
<tr>
<td><%= r.dish_name %></td>
</tr>
<% end %>
我有两个问题,甚至没有进行搜索我在我的视图中得到了这个块
fish and chips my first recipe lasagne Lasagne
然后如果我搜索说las它会在get请求之后将我重定向到我的索引页面,但由于我没有阻止显示结果,我得到一个未定义的错误,这是预期的。
在此之后我将我的控制器代码放在索引操作中,并在索引视图中放置表单和块,现在一切正常吗?为什么我不能使用all_recipes操作以及为什么要重定向?