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

时间:2012-08-20 04:00:56

标签: rubygems content-management-system refinerycms

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

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

gem "refinerycms-news", '~> 2.0.0'

然后跑了

bundle install
rails generate refinery:news
rake db:migrate
rake db:seed

然后重新启动服务器。

刷新后,“新闻”标签显示在我的后端,但当我在前端查看“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.

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

知道我做错了什么吗?

2 个答案:

答案 0 :(得分:5)

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

<%= link_to some_page.title, some_page.url %>
<%= link_to some_page.title, some_page.url_normal %>

将其更改为:

<%= link_to some_page.title, refinery.url_for(some_page) %>

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

<%= link_to some_page.title, some_page.nested_path %>

答案 1 :(得分:0)

您可能需要在添加gem之后运行生成器,以便页面表被播种。

rails g refinery:myextension