Ruby on rails formtastic can';t将符号转换为整数

Ruby on rails formtastic can';t将符号转换为整数,ruby-on-rails,nested-forms,formtastic,Ruby On Rails,Nested Forms,Formtastic,我使用formtastic得到了一个相当简单的嵌套表单 我的模特是 class FieldMap < ActiveRecord::Base has_many :merge_splits accepts_nested_attributes_for :merge_splits class MergeSplit < ActiveRecord::Base belongs_to :field_map end 类字段映射 @操作,:required=>false,:inp

我使用formtastic得到了一个相当简单的嵌套表单

我的模特是

class FieldMap < ActiveRecord::Base has_many :merge_splits accepts_nested_attributes_for :merge_splits class MergeSplit < ActiveRecord::Base belongs_to :field_map end 类字段映射 <%= semantic_form_for @field_map do |f| %> <%= f.input :base_field, :collection => @base_fields %> <%= f.input :master_field, :collection =>@master_fields %> <%= f.semantic_fields_for :merge_split do |ms| %> <%= ms.input :action, :collection => @actions, :required=> false, :input_html=>{:class=>'split_merge_type', :name=>"field_map[merge_splits_attributes][action]"} %> <%= ms.input :character, :required=> false, :input_html=>{:class=>'split_merge_char', :name=>"field_map[merge_splits_attributes][character]"} %> <%= ms.input :count, :collection => [0,1], :include_blank=>false, :required=> false, :input_html=>{:class=>'split_merge_count', :name=>"field_map[merge_splits_attributes][count]"} %> <% end %> <%= f.submit %> <% end %> @基本字段%> @主字段%> @操作,:required=>false,:input\u html=>{:class=>'split\u merge\u type',:name=>“字段映射[merge\u splits\u attributes][action]”}%> false,:input_html=>{:class=>'split_merge_char',:name=>“字段映射[merge_splits_attributes][character]”}%> [0,1],:include_blank=>false,:required=>false,:input_html=> 当我提交表格时,参数是

{"utf8"=>"?", "authenticity_token"=>"lNinAw4DpjkIHsuUEaa0xo+sRG+qk3elA4T2VfCWgXc=", "field_map"=>{"base_field_id"=>"18", "master_field_id"=>"11", "merge_splits_attributes"=>{"action"=>"0", "character"=>"ti", "count"=>"0"}, "attribute_map_attributes"=>{"attribute_id"=>""}}, "commit"=>"Create Field map"} {“utf8”=>“?”, “真实性令牌”=>“lNinAw4DpjkIHsuUEaa0xo+sRG+qk3elA4T2VfCWgXc=”, “字段映射”=>{“基本字段id”=>“18”, “主字段\u id”=>“11”, “合并分割属性”=>{“操作”=>“0”, “字符”=>“ti”, “计数”=>“0”}, “属性映射属性”=>{“属性id”=>“”}, “提交”=>“创建字段映射”} 返回一个无法将符号转换为整数的错误。 不幸的是,它没有告诉我它试图转换什么

替换:

<%= f.semantic_fields_for :merge_split do |ms| %>
具有多个
关系中,嵌套属性如下所示:

"merge_splits_attributes"=>{"0" => {"action"=>"0", "character"=>"ti", "count"=>"0" }, "1" => {"action"=>"0", "character"=>"ti", "count"=>"0" } }
编辑

在您的控制器中,我想您会:

@field_map = FieldMap.new
同样的逻辑,您应该具备以下条件才能创建合并\分割:

@field_map = FieldMap.new
@field_map.merge_splits.build

并删除
:name

我添加了视图,我假设您指的是表单的视图,因为错误来自“create”。这应该是正确的,但当我将:merge\u split替换为:merge\u splits时,merge\u splits的字段根本不显示。出于某种原因,如果多个语义_字段_与模型中的多个关系匹配,则表单不会显示。我不确定这是为什么,但这就是我指定:名称的原因。有什么建议吗?有没有相关的合并分割?我的意思是,当你创建你的对象时,你也应该建立它的关系,否则它们不会出现。对不起,但现在我真的迷路了。你是说我在模型中创建了关联吗?如果是,是的。
@field_map = FieldMap.new
@field_map = FieldMap.new
@field_map.merge_splits.build