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

rug*_*ert 6 activerecord ruby-on-rails ruby-on-rails-3

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

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

  belongs_to :member
Run Code Online (Sandbox Code Playgroud)

我的路线设置为:

resources :members do
    resources :maps
end
Run Code Online (Sandbox Code Playgroud)

我的地图控制器是:

 def new
      @map = Map.new
  end

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

    if @map.save.....
Run Code Online (Sandbox Code Playgroud)

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

Dmi*_*mov 12

以下是通过has_one关联添加的所有方法的说明.您应该build_map用于构建新地图.