text_field tag select_tag rails form_with form for fields_for ruby-on-rails ruby formbuilder

ruby-on-rails - form_with - select_tag rails



fields_for form Builder object es nil (2)

¿Alguna forma de acceder a form_bulder.object anidado?

## controller @project = Project.new @project.tasks.build form_for(@project) do |f| f.object.nil? ## returns false fields_for :tasks do |builder| builder.object.nil? ## returns true end end


Debe tener accept_nested_attributes_for en el modelo de proyecto para que se pase el objeto.

class Project < ActiveRecord::Base has_many :tasks accepts_nested_attributes_for :tasks ## this is required end


fields_for requiere que fields_for el método tasks_attributes= . accepts_nested_attributes_for :tasks crea este método para usted, pero también puede definirlo usted mismo:

def tasks_attributes=(params) # ... manually apply attributes in params to tasks end

Cuando este método no existe, el builder.object termina siendo nulo.