Mackenzie
Mackenzie

Reputation: 21

Refinery CMS - No route matches {:locale=>:en, :controller=>"refinery/news/items"} after navigating to http://localhost:3000/news

I went through the process of installing refinerycms-news engine;

I added the refinerycms-news to my gemfile.

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

then ran

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

then restarted the server.

After refreshing, the "news" tab shows up in my backend but when I go to view the page on the front end at "http://localhost:3000/news" I get this error.

Routing Error

No route matches {:locale=>:en, :controller=>"refinery/news/items"}
Try running rake routes for more information on available routes.

The same thing happened after I tried install the refinerycms-inquiries gem as well.

Any idea as to what I am doing wrong?

Upvotes: 2

Views: 894

Answers (2)

Mike
Mike

Reputation: 9842

If you've done something like either of these anywhere in your views:

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

Change it to:

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

You may also be able to use this if you're set on paths:

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

Upvotes: 6

Todd Baur
Todd Baur

Reputation: 1005

You probably need to run the generator after adding the gem so that the pages table is seeded.

rails g refinery:myextension

Upvotes: 0

Related Questions