Has_one关系并在Rails 3中创建新记录

时间:2011-09-19 03:34:49

标签: ruby-on-rails ruby-on-rails-3 activerecord

我有以下模型,成员和地图,设置如下:

class Member < ActiveRecord::Base
  ...
  has_one :map, :dependent => :destroy
  ...
class Map < ActiveRecord::Base

  belongs_to :member

我的路线设置为:

resources :members do
    resources :maps
end

我的地图控制器是:

 def new
      @map = Map.new
  end

  def create
    @map = current_member.map.new(params[:map])

    if @map.save.....

但是当我尝试保存新地图时,我在该创建行上收到错误undefined method 'new'。我不知道为什么。

1 个答案:

答案 0 :(得分:10)

Here has_one关联添加的所有方法的说明。您应该使用build_map来构建新地图。