Rails has_one嵌套属性,关联不匹配错误

时间:2012-08-05 18:03:24

标签: ruby-on-rails ruby geolocation ruby-on-rails-3.2 nested-attributes

我正在使用Rails 3.2和Ruby 1.9.3

以下是该应用的外观:

模型

Class Location 
belongs_to :answer
attr_accessible :latitude, :longitude, :answer_id
end


Class Answer
attr_accessible :location
has_one :location
accepts_nested_attributes_for :location
end

控制器

def answer
   @answer = Answer.new
   @location = @answer.build_location  
end

查看

<%= f.fields_for :location do |locator| %>
    <%= locator.hidden_field :longitude, class:'longitude' %>
    <%= locator.hidden_field :latitude, class:'latitude' %>
 <% end %>

发送的哈希值(在日志中可见):

"answer"=>{"location"=>{"longitude"=>"2.3422566", "latitude"=>"48.8198344"}, "commit"=>"Send"}

错误:ActiveRecord :: AssociationTypeMismatch

有人可以帮我找出问题吗?

先谢谢

1 个答案:

答案 0 :(得分:0)

这应该是:

“answer”=&gt; {“location_attributes”=&gt; {“longitude”=&gt;“2.3422566”,“latitude”=&gt;“48.8198344”},“commit”=&gt;“发送”}

相关问题