Cha*_*hap 36 ruby ruby-on-rails formbuilder
有没有办法访问嵌套的form_bulder.object?
## 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
Run Code Online (Sandbox Code Playgroud)
Cha*_*hap 67
您必须在Project模型中具有accepts_nested_attributes_for才能传递对象.
class Project < ActiveRecord::Base
has_many :tasks
accepts_nested_attributes_for :tasks ## this is required
end
Run Code Online (Sandbox Code Playgroud)
Mat*_*lly 14
fields_for要求该方法tasks_attributes=存在.accepts_nested_attributes_for :tasks为您创建此方法,但您也可以自己定义:
def tasks_attributes=(params)
# ... manually apply attributes in params to tasks
end
Run Code Online (Sandbox Code Playgroud)
当这种方法不存在时,builder.object最终结果为零.
| 归档时间: |
|
| 查看次数: |
7004 次 |
| 最近记录: |