Refinery CMS - 导航到http:// localhost:3000/news后,没有路由匹配{:locale =>:en,:controller =>"refinery/news/items"}

Mac*_*zie 2 rubygems content-management-system refinerycms

我经历了安装refinerycms-news引擎的过程;

我将refinerycms-news添加到我的gemfile中.

gem "refinerycms-news", '~> 2.0.0'
Run Code Online (Sandbox Code Playgroud)

然后跑了

bundle install
rails generate refinery:news
rake db:migrate
rake db:seed
Run Code Online (Sandbox Code Playgroud)

然后重新启动服务器.

刷新后,"新闻"标签显示在我的后端,但是当我在前端查看"http:// localhost:3000/news"页面时,我收到此错误.

Routing Error

No route matches {:locale=>:en, :controller=>"refinery/news/items"}
Try running rake routes for more information on available routes.
Run Code Online (Sandbox Code Playgroud)

我尝试安装refinerycms-queries gem之后也发生了同样的事情.

知道我做错了什么吗?

Mik*_*ike 6

如果您在视图中的任何位置执行了以下任何操作:

<%= link_to some_page.title, some_page.url %>
<%= link_to some_page.title, some_page.url_normal %>
Run Code Online (Sandbox Code Playgroud)

将其更改为:

<%= link_to some_page.title, refinery.url_for(some_page) %>
Run Code Online (Sandbox Code Playgroud)

如果您在路径上设置,您也可以使用此功能:

<%= link_to some_page.title, some_page.nested_path %>
Run Code Online (Sandbox Code Playgroud)