我正在实现一个管理子域,并且已经用谷歌搜索试图找到这个问题的答案,但是我还没有找到另一个实例。
我的子域部分的路由如下所示:
constraints :subdomain => 'admin' do
scope :module => "admin" do
resources :news, :events
match 'news', :to => 'news#index', :as => 'news'
root :to => "dashboard#index"
end
end
事件工作正常,但出于某种原因,为了让新闻工作,我需要添加一个特定的路线来匹配它。它可能有助于显示产生错误的部分(管理员/共享/菜单):
<ul>
<li><%= link_to 'Home', root_path, :class => "#{current_class?(root_path)}" %></li>
<li><%= link_to 'News', news_path, :class => "#{current_class?(news_path)}" %></li>
<li><%= link_to 'Events', events_path, :class => "#{current_class?(events_path)}" %></li>
<div class="clearboth"></div>
</ul>
如果我要删除匹配路由,则会出现错误:
No route matches {:action=>"show", :controller=>"admin/news"} missing required keys: [:id]
我只是不知道为什么,有什么想法吗?
最佳答案
我发现这是 rails 的一个问题,因为由于复数问题,不应使用命名约定 news,news -> new 因此我不得不将所有内容重命名为文章。我的疏忽,有点愚蠢。
关于ruby-on-rails - 将 "news_path"用于 :news resource doesn't work with `No route matches {:action=>"show", :controller= >"admin/news"} 缺少必需的键:[:id]',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5290142/