好的,我收到此错误 - 没有路由匹配{:action =>" search",:controller =>"图纸",:search =>" 2016"}缺少必需的密钥: [:workcategory_id]
我的布局/ _header
中有这个 <% unless @workcategories.nil? %>
<% @workcategories.each do |workcategory| %>
<li><%= link_to workcategory.name, search_workcategory_drawings_path(search: workcategory.name) %></li>
<% end %>
我的绘图模型
belongs_to :workcategory
def self.search(params)
drawings = Drawing.where("name like ?", "%#{params[:search]}%")
drawings
end
这是控制器应该发生事情的部分
def search
@drawings = Drawing.search(params)
end
最后我的路线
resources :workcategories do
resources :drawings do
collection do
get :search
end
end
end
所以问题是,当我进入任何页面时 - 主页,管理面板等...我收到错误&#39;没有路由匹配{:action =&gt;&#34; search&#34;,: controller =&gt;&#34;图纸&#34;,:搜索=&gt;&#34; 2016&#34;}缺少必需的密钥:[:workcategory_id]&#39;。我不明白为什么要尝试建立&#39;搜索路径已经存在,虽然我没有尝试访问它。我希望我有意义......
答案 0 :(得分:1)
只需提供workcategory_id
:
<li><%= link_to workcategory.name, search_workcategory_drawings_path(workcategory.id, search: workcategory.name) %></li>