2016-03-28 11 views
0

Nasıl özelleştirilir Raylarım acemi, bugün fields_for ile ilgili bir sorunum var. Umarım herkes bana yardım edebilir.Fields_for

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 

bir model görevi: manken projesi var

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

ama form_for projeyi yaptığında:

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

... hepsi işlemek Projenin mevcut görevi db. Lütfen bana yardım edin!

+0

Lütfen Proje Denetleyicinizi & task_field kısmi gönderin! –

cevap

1

fields_for bunu yapıyor, ne yapmayı bekliyorsunuz? Yeni bir görev için tek alanlar istiyorsanız

, o zaman örneğin, oluşturucu için pass in a record object gerekir:

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

eklemek isterseniz/işlevsellik kaldırmak, kendinizi, kontrol eklemek gerekir cocoon gem bunu basitleştirir.

0

Kısmi olarak sonunuzu aldığınızdan emin değilim, ancak fields_for başlatıldığında son gerekir.

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