新手问题 rails 增加 form 字段出错

minix · October 23, 2012 · Last by santochancf replied at October 24, 2012 · 2703 hits

要在 form 里动态增加字段,抄袭了 http://railscasts.com/episodes/74-complex-forms-part-2 里面的内容,不知道怎么回事。想请教一下各位:

home.html.erb

1 <%= form_for @add_dev, as: 'add_dev', url: { controller: "home", action: "create" } do |f| %>
2   <%= f.label "Ip" %>
3   <%= f.text_field :ip_addr %>
4   <div id="add_dev">
5     <%= render partial: "sys", collection: @add_dev.syss %>
6   </div>
7   <%= add_dev_link "Add" %>
8   <%= f.submit "Submit" %>
9 <% end %>

_sys.html.erb

1 <%= fields_for "add_dev[syss_attributes][]", sys do |sys_stat| %>
2   <p>
3   Server: <%= sys_stat.text_field :server %>
4   Port: <%= sys_stat.text_field :port %>
5   <%= sys_stat.hidden_field :oid, value: get_oid %>
6   </p>
7 <% end %>

helper

19   def add_dev_link(name)
20     link_to_function name, nil do |page|
21       page.insert_html :bottom, partial: 'sys', object: Sys.new
22     end
23   end

运行没问题,就是点击后没反应!

<%= fields_for "add_dev[syss_attributes][]", sys do |sys_stat| %>

好像应该是

<%  fields_for "add_dev[syss_attributes][]", sys do |sys_stat| %>

类似的还有 form_for;看起来好像就这些问题

@santochancf 如果改为 <% fields_for "add_dev[syss_attributes][]", sys do |sys_stat| %>的话,整个_sys.html.erb 就看不到了。

#2 楼 @minix form_for 的也改了么?

@santochancf 如果改成 <% form_for @add_dev, as: 'add_dev', url: { controller: "home", action: "create" } do |f| %>就整个 form 都没了,整个页面都空白

#4 楼 @minix 我傻了……之前说错了的 😓

#4 楼 @minix 我查了下 API,insert_html 在 rails3.0.9 已经没了……

You need to Sign in before reply, if you don't have an account, please Sign up first.