2016-06-06 7 views
1

ich für die gleiche Ressource mit neuer Aktion zwei Routen habe: individual_trainings:Render ein anderes neues Formular

new_backend_trainer_ind_training GET /backend/people/:id/trainers/:trainer_id/individual_trainings/new(.:format)   backend/individual_trainings#new 

new_backend_individual_training GET /backend/individual_trainings/new(.:format)           backend/individual_trainings#new 

Wie angeben, welche Art von new gemacht werden sollte? Wenn ich render :new verwende, umleitung immer zur zweiten Route. Ich möchte nicht redirect_to verwenden, weil ich Fehler für Formular nicht verarbeiten kann. Irgendeine Idee, wie man das macht (ich brauche render :new in create action). Vielleicht noch eine neue und schaffende Aktion?

Update: Ich denke, es gibt ein Problem mit simple_form in new_backend_trainer_ind_training:

= simple_form_for([:backend, @individual_training]) do |f| 

es falsche URL erzeugt. Ist es richtig?

Antwort

1

Wenn Sie es auf diese Weise (zwei Strecken für die gleiche Aktion) tun wollen, dann können Sie Pfad simple_form passieren:

= simple_form_for(@individual_training, url: new_backend_trainer_ind_training_path) do |f| 

Dies ist jedoch ein schlechter Ansatz ist auf die gleiche führende verschiedene Routen zu verwenden, Aktion. Wenn dies ein anderes Verhalten ist, sollten Sie einen anderen Controller mit der Aktion new/create erstellen.

Verwandte Themen