2011-09-19 80 views
6

我有以下的車型,會員和地圖,設置爲這樣:HAS_ONE關係,並創造了Rails的一個新紀錄3

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'創建線。我不知道爲什麼。

+0

如果成員沒有Map,'current_member.map'將返回'nil','nil'沒有'new'方法。你需要做@德米特里說的。 – nickgrim

回答

10

Here是由has_one關聯添加的所有方法的描述。您應該使用build_map來構建新地圖。