So I have a simple application as in RailsCast about nested forms. and
a problem is that when I submit the form (with survey and questions)
the questions are not saved.
My models (Survey, that has many Questions):
class Survey
include Mongoid::Document
field :name
has_many :questions, :dependent => :destroy
accepts_nested_attributes_for :questions, :allow_destroy => true
end
class Question
include Mongoid::Document
field :content
belongs_to :survey
end
and Survey Controller:
def new
@survey = Survey.new
3.times {@survey.questions.build}
....
and a view:
<%= form_for(@survey) do |f| %>
<%= f.fields_for :questions do |builder| %>
<%= builder.label :content, "Question" %><br />
<%= builder.text_area :content, :rows => 3 %><br />
<%= builder.check_box :_destroy %>
<%= builder.label :_destroy, "Remove Question" %>
<% end %>
...
In my log I have:
Started POST "/surveys" for 127.0.0.1 at 2011-05-24 13:26:51 +0400
Processing by SurveysController#create as HTML
Parameters: {"utf8"=>"G£ô",
"authenticity_token"=>"tX0FfMiLbh1BwjuY4CuvAKt2UpTraY3vmdo58ocBnos=",
"survey"=>{"name"=>"
Rails", "questions_attributes"=>{"0"=>{"content"=>"Are you fond of
Rails?", "_destroy"=>"0"}, "1"=>{"content"=>"Rails is
the best, ha?", "_destroy"=>"0"}, "2"=>{"content"=>"How many
railscasts have you watched?", "_destroy"=>"0"}}}, "commit
"=>"Create Survey"}
MONGODB
nested_attributes_development['surveys'].insert([{"name"=>"Rails",
"_id"=>BSON::ObjectId('4ddb79dba5372914380000
69')}])
Redirected to
http://localhost:3000/surveys/4ddb79dba537291438000069