如何使用动态的多级散列 form_for?
how to do form_for with dynamic, multi-level hash?
我有一个包含动态内容的 class。我在控制器的新方法中初始化它:
def new
@person = Person.new(:info => {:first_name => "Joe", :last_name => "Smith"})
end
现在,忽略我在我的控制器和表单之间手动协调 :info 结构的事实(我有一个元配置存储在另一个 class,我正在简化它以寻求抽象帮助),如何为 first_name 和 last_name 设置字段?这失败了:
<%= form_for @person do |f| %>
<% f.text_field :info[:first_name] %>
<% end %>
它失败了
no implicit conversion of Symbol into Integer
感谢您的帮助。
试试这个
<%= form_for @person do |f| %>
<%= f.fields_for :info do |ff|
<% ff.text_field :first_name %>
<% end %>
<% end %>
我有一个包含动态内容的 class。我在控制器的新方法中初始化它:
def new
@person = Person.new(:info => {:first_name => "Joe", :last_name => "Smith"})
end
现在,忽略我在我的控制器和表单之间手动协调 :info 结构的事实(我有一个元配置存储在另一个 class,我正在简化它以寻求抽象帮助),如何为 first_name 和 last_name 设置字段?这失败了:
<%= form_for @person do |f| %>
<% f.text_field :info[:first_name] %>
<% end %>
它失败了
no implicit conversion of Symbol into Integer
感谢您的帮助。
试试这个
<%= form_for @person do |f| %>
<%= f.fields_for :info do |ff|
<% ff.text_field :first_name %>
<% end %>
<% end %>