ruby-on-rails - 将 "news_path"用于 :news resource doesn't work with `No route matches {:action=>"show", :controller= >"admin/news"} 缺少必需的键:[:id]'

标签 ruby-on-rails routes

我正在实现一个管理子域,并且已经用谷歌搜索试图找到这个问题的答案,但是我还没有找到另一个实例。

我的子域部分的路由如下所示:

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/

相关文章:

ember.js - EmberJS,轮询,更新路由模型,重新渲染组件

ruby-on-rails - 无法连接到远程 redis(带 rails )

ruby-on-rails - spork 0.9.2 和 rspec 3.0.0 = 未初始化常量 RSpec::Core::CommandLine (NameError)

ruby-on-rails - Ruby 错误代码 : -90 中的 MailChimp API 问题

linux - 如何配置 Docker 以使用我的 ens34 网络接口(interface)(而不是 eth0)?

asp.net-mvc - ASP.NET MVC 路由的操作前缀

ruby-on-rails - Rubymine 不理解路径助手

ruby-on-rails - 在 Controller View 中访问公共(public)文件。 Rails 将当前 Controller 的路径视为相对路径

html - 无法在 rails helper 中动态添加 id 到 div 标签

java - 通过 URL 在 Google map fragment 上绘制路线