私のアプリケーションでは、ユーザーは多くのプロジェクトを持っています。ユーザーが一度に多くのプロジェクトを作成できるように、「多くのプロジェクトを追加する」フォームを作成したいと思います。
最も簡単な方法は、プロジェクトフィールドがネストされたユーザーフォームを作成し、ユーザーフィールドを省略することであるように思われました。このように、フォームが送信されると、ユーザーが保存され、すべての新しいプロジェクトレコードが自動的に作成されます。
ただし、既存のプロジェクトをフォームに表示したくありません。(@ user.projects.buildから)作成されている新しいプロジェクトの空のフィールドのみ。渡すことができるパラメーターや、既存のプロジェクトレコードを省略するためにフォームで変更できるものはありますか?
<% form_for (@user) do |f| %>
<% f.fields_for :project do |project_form| %>
<%= render :partial => 'project', :locals => {:f => project_form} %>
<% end %>
<%= add_child_link "New Project", f, :projects %>
<%= f.submit "save" %>
<%end%>
ライアンベイトの複雑なフォームの例を使用しています。コードは正常に機能します。既存のプロジェクトがこのフォームに表示されないようにしたいだけです。