Ruby on rails 相关模型中无差异访问的hash
我有一个rails应用程序,我在其中链接两个数据库中的字段。数据库的东西似乎都很好 但是,我有一个表单,其中我将描述从远程数据库映射到本地数据库中的产品 用于创建产品和选择描述的表单工作良好 #_form.rb semantic_form_for @products do |f| f.input :name semantic_fields_for :description_maps do |description| description.input :desciption_map_id, :input_html=>{:name=>"product[description_map][description_id]}, :collection => @descriptions end end #product.rb class Product < ActiveRecord::Base attr_accessible :name, :description_map_attributes, :description_map has_one :description_map accepts_nested_attributes_for :description_map #_form.rb @products do|f|的语义形式 f、 输入:姓名 语义_字段_用于:描述_地图做|描述| description.input:description\u map\u id,:input\u html=>{:name=>“产品[description\u map][description\u id]},:collection=>@descriptions 结束 结束 #product.rb 类产品Ruby on rails 相关模型中无差异访问的hash,ruby-on-rails,associations,mass-assignment,Ruby On Rails,Associations,Mass Assignment,我有一个rails应用程序,我在其中链接两个数据库中的字段。数据库的东西似乎都很好 但是,我有一个表单,其中我将描述从远程数据库映射到本地数据库中的产品 用于创建产品和选择描述的表单工作良好 #_form.rb semantic_form_for @products do |f| f.input :name semantic_fields_for :description_maps do |description| description.input :descipt
原来这是formtastic如何命名描述图的问题。 在问题中,我已经详细说明了 description.input :desciption_map_id, :input_html=>{:name=>"product[description_map][description_id]}, :collection => @descriptions description.input:description\u map\u id,:input\u html=>{:name=>“产品[description\u map][description\u id]},:collection=>@descriptions 但是“描述映射”必须是这样的“描述映射属性” description.input :desciption_map_id, :input_html=>{:name=>"product[description_map_attributes][description_id]}, :collection => @descriptions description.input:description\u map\u id,:input\u html=>{:name=>“产品[description\u map\u attributes][description\u id]},:collection=>@descriptions
希望这个答案能帮助其他有同样问题的人。你应该使用::description\u map(不带“S”)因为是一个has\u on关系
semantic_fields_for :description_map do |description|
description.input :desciption_map_id, :input_html=>{:name=>"product[description_map] [description_id]}, :collection => @descriptions
结束您没有正确使用嵌套模型。您是否尝试为:描述映射执行f.fields\u?我使用的是formtastic,所以它是语义字段,这是正确的。好吧……和f.semantic\u-field\u或类似的东西?您必须嵌套您的表单…Golden!我在rails 3.0.x上,没有使用formtastic。我在一个数组中使用复选框嵌套表单。我必须“构建”“由于rails无法很好地处理复选框数组,因此使用check_-box_标记代替form_-helper/fields_-for.check_-box创建表单。一直挣扎到,丁!,在嵌套属性名称中添加“\u属性”。在这个问题上,我发现了很多复杂的答案,而在我的例子中,正确的答案是如此简单(一旦点击就有意义)。谢谢