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.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage