Question

J'ai une erreur de routage que je ne peux tout simplement pas comprendre! Son fait ma tête, si quelqu'un peut proposer une solution qui serait extrêmement apprécié.

J'obtiens l'erreur: eRREUR ROUTAGE Aucun résultat ne correspond {itinéraire: action => "create_from_template",: controller => "projets"}

à partir du bouton suivant:

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

Dans routes.rb je:

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

En classe ProjectsController je:

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

Il montre aussi quand je fais « routes râteau »

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

Quelqu'un a une idée pourquoi il isnt travailler?

EDIT: En fait, peut-être je l'ai mal compris le « membre » des règles de routage des ressources imbriquées. Je n'étais pas passer dans un projet. J'ai changé le bouton de

à

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

et maintenant il fonctionne. Merci à tous qui a aidé.

Était-ce utile?

La solution

Si vous ne devez passer projet pour créer une action de modèle, bouton de changement comme: `

 <%= link_to "Create from template", create_from_template_projects_path %> 
Dans les routes, au lieu de
 member do 
vous devez utiliser
 collection do 

Si vous utilisez member do dans routes.rb alors vous devriez passer le projet dans link_to comme Prasvin a mentionné

Autres conseils

envoyer le projet d'essayer dans le chemin le long link_to

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top