Behalten Sie nach dem Rendern von Ruby on Rails die Parameter bei
Ich habe ein Projekt, das dem Benutzer gehört. In meiner Benutzeransicht habe ich einen Link zum Hinzufügen eines neuen Projekts mit dem Parameter für den Benutzer, dem ich das Projekt hinzufügen möchte.
<%= link_to 'Add new project', :controller => "project", :action => "new", :id => @user %>
Url: /projects/new?id=62
Das Hinzufügen eines Projekts zu einem Benutzer funktioniert. Das Problem ist, wenn die Validierung beim Hinzufügen eines neuen Projekts fehlschlägt und ich ein Rendering durchführe.
def create
@project = Project.new(params[:project])
if @project.save
redirect_to :action => "show", :id => @project.id
else
render :action => "new"
end
end
Aussicht:
<%= form_for @project do |f| %>
<%= f.label :name %>
<%= f.text_field :name %>
<%= f.hidden_field :user_id , :value => params[:id] %>
<%= f.submit "Create project" %>
<% end %>
Routen
resources :users do
resources :projects
end
Wie kann ich den Parameter für den Benutzer nach dem Rendern beibehalten? Oder gibt es einen besseren Weg, dies zu tun? Ich habe viele ähnliche Fragen angeschaut, kann sie aber nicht zum Laufen bringen.