Rails 3.1 Routing Errore
-
25-10-2019 - |
Domanda
Ho un errore di routing che ho semplicemente non riesco a capire! Il suo fare la mia testa, se qualcuno può suggerire una soluzione che sarebbe enormemente apprezzato.
ottengo l'errore: PERCORSO ERRORE Nessuna corrispondenza del percorso {: action => "create_from_template", regolatore: => "progetti"}
dalla seguente pulsante:
<p><%= link_to "Create from template", create_from_template_project_path %></p>
In routes.rb ho:
resources :projects do
member do
get 'create_from_template'
end
end
In classe ProjectsController ho:
def create_from_template
#@project = Project.find(params[:template_id])
#@project.clone
redirect_to projects_path
end
Si mostra anche quando faccio "rake routes"
create_from_template_project GET /projects/:id/create_from_template(.:format) {:action=>"create_from_template", :controller=>"projects"}
Qualcuno ha qualche idea del perché isnt di lavoro?
EDIT: In realtà forse ho frainteso il "membro" risorsa nidificato regole di routing. Non ero di passaggio in un progetto. Ho cambiato il pulsante da
a
<p><%= link_to "Create from template", create_from_template_project_path(template_project) %></p>
ed ora funziona. Grazie a tutti che hanno contribuito.
Soluzione
Se non avete bisogno di passare del progetto per la creazione di azioni modello, pulsante di cambiamento come: `
<%= link_to "Create from template", create_from_template_projects_path %>In percorsi, invece di
member dosi dovrebbe usare
collection do
Se si utilizza member do
in routes.rb allora si dovrebbe passare progetto nel link_to come ha menzionato Prasvin
Altri suggerimenti
provare l'invio del progetto nel percorso a fianco link_to