A ver si me explico bien y pueden echarme una ayudita por que vaya lio
que tengo de urls…
Les cuento en mi vista
views/welcome/index.htm.erb
Me traigo los Post que tengo en la base de datos y muestro el titulo
con un
<%= link_to_show_post(post) # =>
http://localhost:3000/posts/2008/9/3/1-mi-primer-post
%>
El metodo del Helper es tal que asÃ
def link_to_show_post(l)
link_to l.title, “posts/#{l.created_at.year}/#{l.created_at.month}/
#{l.created_at.day}/#{l.to_param}”
end
Hasta aqui todo correcto pero cuando accedo a la vista
views/posts/show.html.erb
los enlaces me los genera incorrectamente y eso que uso el mismo
helper, pero esta vez se genera una url
=>
http://localhost:3000/posts/2008/9/3/posts/2008/9/3/1-mi-primer-post
Tanto welcome/index.html.erb como posts/show.html.erb usan el mismo
partial para generar los posts.
¿Pueden alguien comentarme a que es debido esto?
Ah, mas datos, mi routes.rb
map.connect ‘posts/:year/:month/:day/:id’,
:controller => ‘posts’,
:action => ‘show’,
:year => /\d{4}/,
:month => /\d{1,2}/,
:day => /\d{1,2}/
map.resources : posts, :collection => { :musica => :get }
Probando y probando encontre una “chapu” solución que consistia en
pasarle al metodo del helper, el objeto y la acción que corresponde
tal que asÃ
<%= link_to_show_post(post, controller.action_name) %>
Y luego en el helper generar la url en función de la acción pasada
pero no me pareció muy buena idea ya que el metodo del helper a pasado
a tener demasiadas lineas.
Vaya rollo que he soltado. Muchas gracias por la ayuda que puedan
facilitarme.
Saludos.