2016-03-28 2 views
0

Я новичок rails, сегодня у меня возникла проблема с полями_for. Надеюсь, кто-нибудь может мне помочь. У меня есть проект модели:Как настроить 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 

и модель задачи:

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

, но когда я сделал form_for проект:

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

... это делают все существующая задача проекта в дБ. PLZ помочь мне!

+0

Просьба указать свой контролер проекта и частичную задачу! –

ответ

1

Это то, что fields_for делает, что вы ожидаете от этого?

Если вы хотите только поля для новой задачи, то вам нужно pass in a record object строителя, например:

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

Если вы хотите добавить/удалить функциональность, вам нужно добавить, что сам, проверьте cocoon gem, что делает его простым.

0

Я не уверен, что у вас есть конец внутри частичного, но конец требуется, когда началось field_for.

<%= form_for(@project, do |f| %> 
    <%= f.fields_for :tasks do |tasks_for_form|%> 
     <%= render 'task_fields', f: tasks_for_form%> 
    <% end %> 
<% end %> 
Смежные вопросы