2011-05-24 4 views
1

Je les modèles suivants:Rails 3.1.rc1 et accept_nested_attributes_for

class Survey < ActiveRecord::Base 
    set_primary_key :survey_id # I'm using external DB 
    belongs_to :user #UPDATED 
    has_many :questions, :dependent => :destroy 
    accept_nested_attributes_for :questions 
end 

class Question < ActiveRecord::Base 
    set_primary_key :question_id # I'm using external DB 
    belogns_to :survey 
end 

Si je vais aux rails console et enregistrer un modèle:

>> params = {"title"=>"Survey 1", "questions_attributes"=>{"0"=>{"title"=>"Question 2"}}} 
>> survey = User.first.surveys.build(params) #UPDATED 
>> survey.questions.size 
=> 2 
>> survey = User.first.surveys.new(params) 
>> survey.questions.size 
=> 1 

Rails dédouble ressource question sur des enquêtes. Peut-être est-ce un bug de Rails 3.1? Le code est similaire à RailsCasts épisode

+0

Ok, le problème est dans la fonction 'build' car l'utilisation de' new' fonctionne bien. – beagleknight

+0

Désolé, je fais quelques changements au code parce que le code original est assez différent. – beagleknight

+0

La méthode est actuellement 'accept_nested_attributes_for'. –

Répondre

4
197.

Il a été fixé à this commit.

Le correctif est présent Rails 3.1.0rc2, donc si vous mettez à jour votre version Rails dans votre Gemfile:

gem 'rails', '3.1.0.rc2' 

Et Exécuter

$ bundle update rails 

Cela devrait fonctionner comme prévu.

+0

Vous avez raison. Je vous remercie! – beagleknight

+0

Merci, cela m'a fait perplexe pendant un moment. – Gazler

Questions connexes