|Buenas, estoy tratando de crearme las rutas para un controlador “news_articles”, tengo 4 secciones donde cada una pueden tener noticias:
sgi, rrhhh, sistemas, subcontratas.
En routes.rb tengo:
Las 4 secciones las trato como algo estático, no son controladores,
los pongo en la url para que quede constancia de dónde se está.
[:sgi, :rrhh, :sistemas, :subcontratas].each do |namespace|
map.with_options :path_prefix => “/:type”,
:name_prefix=>"#{namespace}" do |section|
section.resources :news_articles
end
end
AsÃ, obtengo las siguientes rutas:
sgi_news_articles GET /:type/news_articles
{:action=>“index”, :controller=>“news_articles”}
formatted_sgi_news_articles GET
/:type/news_articles.:format
{:action=>“index”, :controller=>“news_articles”}
POST /:type/news_articles
{:action=>“create”, :controller=>“news_articles”}
POST
/:type/news_articles.:format
{:action=>“create”, :controller=>“news_articles”}
new_sgi_news_article GET
/:type/news_articles/new
{:action=>“new”, :controller=>“news_articles”}
formatted_new_sgi_news_article GET
/:type/news_articles/new.:format
{:action=>“new”, :controller=>“news_articles”}
edit_sgi_news_article GET
/:type/news_articles/:id/edit
{:action=>“edit”, :controller=>“news_articles”}
formatted_edit_sgi_news_article GET
/:type/news_articles/:id/edit.:format
{:action=>“edit”, :controller=>“news_articles”}
sgi_news_article GET
/:type/news_articles/:id
{:action=>“show”, :controller=>“news_articles”}
formatted_sgi_news_article GET
/:type/news_articles/:id.:format
{:action=>“show”, :controller=>“news_articles”}
PUT
/:type/news_articles/:id
{:action=>“update”, :controller=>“news_articles”}
PUT
/:type/news_articles/:id.:format
{:action=>“update”, :controller=>“news_articles”}
DELETE
/:type/news_articles/:id
{:action=>“destroy”, :controller=>“news_articles”}
DELETE
/:type/news_articles/:id.:format
{:action=>“destroy”, :controller=>“news_articles”}
y lo mismo para rrhh, sistemas y subcontratas.
Lo que pretendo son estas rutas:
/sgi/news_articles
/sgi/news_articles/1
/rrhh/news_articles/2
Tengo un error en la lÃnea 19 de mi vista index.
|
En mi vista tengo:
Extracted source (around line #19):
|16:
<%=h news_article.entradilla %> |
17:
<%=h news_article.resumen %> |
18:
<%=h news_article.page_id %> |
19:
<%= link_to ‘Show’, news_article %> |
20:
<%= link_to ‘Edit’,
edit_news_article_path(news_article)%> |
21:
<%= link_to ‘Destroy’, news_article, :confirm => ‘Are you
sure?’, :method => :delete %> |
22:
<%= link_to ‘New news_article’, new_news_article_path %>|
Showing /news_articles/index.html.erb/ where line #19 raised:
|news_article_url failed to generate from {:type=>#<NewsArticle id: 1, hidden: false, deleted: false, titulo: “prueba”, fecha: “2008-04-14”, entradilla: “asdf”, resumen: “asdf”, page_id: 2, created_at: “2008-04-14 11:12:41”, updated_at: “2008-04-14 11:12:41”>, :controller=>“news_articles”, :action=>“show”}, expected: {:controller=>“news_articles”, :action=>“show”}, diff: {:type=>#<NewsArticle id: 1, hidden: false, deleted: false, titulo: “prueba”, fecha: “2008-04-14”, entradilla: “asdf”, resumen: “asdf”, page_id: 2, created_at: “2008-04-14 11:12:41”, updated_at: “2008-04-14 11:12:41”>}|
|Ese error lo soluciono si añado también en routes.rb:
map.resources :news_articles
y si lo quito falla.
Mi pregunta es si estoy haciendo bien el routes, y el error a qué se
debe, debo incluir también el map.resources :news_articles? Gracias de
antemano|