【发布时间】:2010-10-29 16:22:36
【问题描述】:
我有一个 form_for 代码
<%form_for :a,:url=>{:controller=>"biz/a",:action=>"save"},:html =>{:multipart => true} do |f| %>
.....
<%f.fields_for :b do |b|%>
.....
<%b.fields_for :apples do |apple|%>
...
<%end%>
....
<%end%>
它输出没有fields_for函数的html代码
<textarea cols="40" id="a_b_apples_content" name="a[b][apples][content]" rows="20" style="width:500px;height:100px;border:1px #889BAA solid;color:#999;font-size:12px;padding:6px;"></textarea>
当我将 form_for 更改为:
<%form_for @a,:url=>{:controller=>"biz/a",:action=>"save"},:html =>{:multipart => true} do |f| %>
它工作正常。 它输出:
<textarea cols="40" id="a_b_apples_content" name="a[b_attributes][apples_attributes][0][content]" rows="20" style="width:500px;height:100px;border:1px #889BAA solid;color:#999;font-size:12px;padding:6px;"></textarea>
如我所愿。 为什么 form_for 中的符号不能正常工作?form_for 中的 :a 和 @a 有什么区别。 谢谢。 我使用 rails 2.3.8 ,ruby 1.8.7,chrome web 浏览器。
【问题讨论】:
-
不确定,但也许符号只允许属性,而使用对象可以给你关联。
标签: ruby-on-rails form-for fields-for