Ruby on rails 如何使用动态、多级散列进行form_for?
我有一个动态内容的班级。我在控制器中的新方法中初始化它:Ruby on rails 如何使用动态、多级散列进行form_for?,ruby-on-rails,mongoid,Ruby On Rails,Mongoid,我有一个动态内容的班级。我在控制器中的新方法中初始化它: def new @person = Person.new(:info => {:first_name => "Joe", :last_name => "Smith"}) end 现在,不管我正在手动协调控制器和窗体之间的:info结构(我有一个元配置存储在另一个类中,我正在简化它以寻求抽象帮助),我如何为first_name和last_name设置字段?这失败了: <%= form_for @person d
def new
@person = Person.new(:info => {:first_name => "Joe", :last_name => "Smith"})
end
现在,不管我正在手动协调控制器和窗体之间的:info结构(我有一个元配置存储在另一个类中,我正在简化它以寻求抽象帮助),我如何为first_name和last_name设置字段?这失败了:
<%= form_for @person do |f| %>
<% f.text_field :info[:first_name] %>
<% end %>
谢谢你的帮助。试试这个
<%= form_for @person do |f| %>
<%= f.fields_for :info do |ff|
<% ff.text_field :first_name %>
<% end %>
<% end %>
试试这个
<%= form_for @person do |f| %>
<%= f.fields_for :info do |ff|
<% ff.text_field :first_name %>
<% end %>
<% end %>
@breno preucchi这适用于新建和创建(我可以看到数据),但不适用于编辑。编辑时,参数在HTML中,但缺少值,因此输入框显示为空白。检查显示:如果我输入了一个新的名字,它确实会进入数据库,所以它也会在更新时工作。O数据库无法保存哈希值。可能数据库中有一个属性信息作为字符串。为此,需要序列化此哈希。我将编辑我的文章,为其添加一个例子。@breno preucchi这适用于新建和创建(我可以看到数据),但不适用于编辑。编辑时,参数在HTML中,但缺少值,因此输入框显示为空白。检查显示:如果我输入了一个新的名字,它确实会进入数据库,所以它也会在更新时工作。O数据库无法保存哈希值。可能数据库中有一个属性信息作为字符串。为此,需要序列化此哈希。我将编辑我的帖子,添加一个例子。