2016-03-28 10 views
0

私は初心者です。今日はfields_forに問題があります。誰も私を助けることができると思う。 私はモデル事業があります。それはすべてのレンダリングfields_forをカスタマイズするには

<%= form_for(@project, do |f| %> 
    <%= f.fields_for :tasks do |tasks_for_form|%> 
    <%= render 'task_fields', f: tasks_for_form%> 
<%end%> 

... :

class Project < ActiveRecord::Base 
    validates :project_name, presence: true,uniqueness: true 
    validates :plan_time, presence: true 
    has_many :tasks, dependent: :destroy 
    accepts_nested_attributes_for :tasks, allow_destroy: true 
end 

とモデルのタスク:

class Task < ActiveRecord::Base 
    belongs_to :user 
    belongs_to :project 
    validates :user_id, presence: true 
    validates :project_id, presence:true 
end 

を私はのform_forのプロジェクトを作ったときdb内のプロジェクトの既存タスク。 PLZ助けて!

+0

Project Controllerとtask_field partialをうまく投稿してください。 –

答えて

1

これは何ですか、fields_forは何をする予定ですか?

新しいタスクのフィールドだけをしたい場合は、あなたが例えば、ビルダーにpass in a record objectする必要があります。

<%= f.fields_for :tasks, @project.tasks.new do |tasks_for_form| %> 

あなたが機能を追加/削除したい場合は、あなた自身が、チェックアウトすることを追加する必要がありますcocoon gemはこれを簡単にします。

0

私はあなたが部分的な内部に終わりを持っているかどうかは確かではありませんが、fields_forが開始されたときに終了する必要があります。

<%= form_for(@project, do |f| %> 
    <%= f.fields_for :tasks do |tasks_for_form|%> 
     <%= render 'task_fields', f: tasks_for_form%> 
    <% end %> 
<% end %>