/ Relacionamentos / Has_one e criação de um novo registro no Rails 3 - ruby-on-rails, ruby-on-rails-3, activerecord

Tem um relacionamento e cria um novo registro no Rails 3 - ruby-on-rails, ruby-on-rails-3, activerecord

Eu tenho os seguintes modelos, Member e Map, configurados da seguinte forma:

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

belongs_to :member

e minhas rotas são configuradas com:

resources :members do
resources :maps
end

e meu controlador de mapas é:

 def new
@map = Map.new
end

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

if @map.save.....

Mas quando tento salvar um novo mapa, recebo um erro undefined method "new" nessa linha de criação. Não tenho certeza porque.

Respostas:

10 para resposta № 1

Aqui é uma descrição de todos os métodos adicionados por has_one Associação. Você deveria usar build_map para construir um novo mapa.