Pregunta

¡Tengo un error de enrutamiento que simplemente no puedo entender! Me está haciendo la cabeza, si alguien puede sugerir una solución que sería muy apreciada.

Recibo el error: error de enrutamiento sin coincidencias de ruta {: action => "create_from_template",: controler => "proyectos"}

Desde el siguiente botón:

<p><%= link_to "Create from template", create_from_template_project_path %></p>

En rutas.rb tengo:

  resources :projects do
    member do
      get 'create_from_template'
    end
  end

En clase ProjectScontroller tengo:

  def create_from_template
    #@project = Project.find(params[:template_id])
    #@project.clone
    redirect_to projects_path
  end

También aparece cuando hago "rutas de rastrillo"

create_from_template_project GET    /projects/:id/create_from_template(.:format) {:action=>"create_from_template", :controller=>"projects"}

¿Alguien tiene alguna idea de por qué no funciona?

Editar: En realidad, tal vez he entendido mal las reglas de enrutamiento de recursos anidados "miembros". No estaba pasando en un proyecto. He cambiado el botón de

a

   <p><%= link_to "Create from template", create_from_template_project_path(template_project) %></p>

Y ahora funciona. Gracias a todos los que ayudaron.

¿Fue útil?

Solución

Si no necesita pasar el proyecto para crear acción de plantilla, cambie el botón como: `

 <%= link_to "Create from template", create_from_template_projects_path %> 
En rutas, en lugar de
 member do 
Deberías usar
 collection do 

Si utiliza member do en rutas.rb, entonces debe aprobar el proyecto en el enlace_to como Prasvin ha mencionado

Otros consejos

Intente enviar el proyecto en la ruta junto con Link_TO

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top