私はhas_many :tasks
というプロジェクトモデルを持っています。レール3.1にネストされたリソースを追加し、プロジェクトを編集するときにタスクを追加/削除できるように、今度はnested_form gemで試してみてください。Rails 3.1はfields_forをnested_formからレンダリングしません
以前は他のRails3アプリケーションでnested_formを使用していましたが、うまくいきましたが、今度はfields_for
部分は何も描画しません。
#project.rb
class Project < ActiveRecord::Base
attr_accessible :nr, :name, :client_id, :project_status_id, :hidden, :active, :description, :tasks_attributes
has_many :tasks, :dependent => :destroy
accepts_nested_attributes_for :tasks, :reject_if => lambda { |a| a[:name].blank? }, :allow_destroy => true
end
#task.rb
class Task < ActiveRecord::Base
belongs_to :project
end
#views/projects/_form.html.erb
<%= simple_nested_form_for @project do |form| %>
<%= form.input :nr, :label => 'Nr' %>
<%= form.input :name, :label => 'Name' %>
<%= form.association :client, :collection => Client.all(:order => 'name'), :prompt => "Choose a Client" %>
<%= form.input :description, :label => 'Description' %>
<%= form.input :active, :label => 'Active' %>
<%= form.input :hidden, :label => 'Hidden' %>
<div class="task_fields">
<%= form.fields_for :tasks do |task_form| %>
<%= task_form.input :name %>
<%= task_form.input :description %>
<%= task_form.input :deadline %>
<%= task_form.link_to_remove "Remove this task" %>
<p><%= form.link_to_add "Add a task", :tasks %></p>
<% end %>
</div>
<div class="actions">
<%= form.button :submit %>
</div>
<% end %>
、私のルートで
:は、ここに私のコードです
resources :posts do
resources :comments
end
が、私は私のブラウザでページを訪問したときに
<div class="task_fields"></div>
は空にレンダリングされます。 fields_forおよびそれ以外のものはありません。 nested_form.jsがロードされ、私は自分のGEMFILE内でgem "nested_form", :git => 'https://github.com/fxposter/nested_form.git'
を指しています。私はsimple_formサポートを得るためにこれを行う必要があると思います。また、simple_nested_form_forをnested_form_forに変更するだけで効果はありませんでした。
すべてのヘルプはhigly projects#new
で
をnested_form'は通常 'simple_form'をサポートしていません'ので、あなたはまた、[繭](HTTPSを見てみることができます。 com/nathanvda/cocoon)は、私が作成した宝石であり、それはフォームビルダーにとらわれないものです。 – nathanvda