oren
2010-May-04 22:24 UTC
fields_for inserts 2 identical rows to the connecting table (has_many :through)
My models are TranslationKey, TranslationValue and KeyValue.
Here is the relevant part in the log: (the last two lines are
identical inserts!)
Processing TranslationKeysController#create (for 127.0.0.1 at
2010-05-04 22:13:31) [POST]
Parameters: {"commit"=>"Create",
"authenticity_token"=>"J+dt/
qHwHkbKygh0wBPnXPLtpkb3Pb8URxGucEbpLa0=",
"translation_key"=>{"name"=>"key1",
"translation_values_attributes"=>{"0"=>{"text"=>"value1"}}}}
INSERT INTO `translation_keys` (`name`, `created_at`, `updated_at`)
VALUES(''key1'', ''2010-05-04 22:13:31'',
''2010-05-04 22:13:31'')
INSERT INTO `translation_values` (`created_at`, `updated_at`, `text`,
`language_id`) VALUES(''2010-05-04 22:13:31'',
''2010-05-04 22:13:31'',
''value1'', NULL)
INSERT INTO `key_values` (`translation_key_id`,
`translation_value_id`, `created_at`, `updated_at`) VALUES(16, 27,
''2010-05-04 22:13:31'', ''2010-05-04
22:13:31'')
INSERT INTO `key_values` (`translation_key_id`,
`translation_value_id`, `created_at`, `updated_at`) VALUES(16, 27,
''2010-05-04 22:13:31'', ''2010-05-04
22:13:31'')
And here is the new template:
<% form_for(@key) do |f| %>
<% if f.error_messages.length > 0 %>
<div class="error-message">
<%= error_messages_for :translation_key, :header_message =>
''Error'', :message => '''' %>
</div>
<% end %>
<p>
<%= f.label :name, ''Key name'' %>
<br />
<%= f.text_field :name %>
</p>
<p>
<% f.fields_for :translation_values do |value_fields| %>
<%= value_fields.label :text, ''Content'' %>
<br />
<%= value_fields.text_area :text %>
<% end %>
</p>
<p>
<%= f.submit ''Create'' %>
</p>
<% end %>
--
You received this message because you are subscribed to the Google Groups
"Ruby on Rails: Talk" group.
To post to this group, send email to
rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
To unsubscribe from this group, send email to
rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en.
oren
2010-May-04 22:41 UTC
Re: fields_for inserts 2 identical rows to the connecting table (has_many :through)
btw, my new action has this: @key = TranslationKey.new @key.translation_values.build On May 4, 10:24 pm, oren <orengo...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> My models are TranslationKey, TranslationValue and KeyValue. > > Here is the relevant part in the log: (the last two lines are > identical inserts!) > > Processing TranslationKeysController#create (for 127.0.0.1 at > 2010-05-04 22:13:31) [POST] > Parameters: {"commit"=>"Create", "authenticity_token"=>"J+dt/ > qHwHkbKygh0wBPnXPLtpkb3Pb8URxGucEbpLa0=", > "translation_key"=>{"name"=>"key1", > "translation_values_attributes"=>{"0"=>{"text"=>"value1"}}}} > > INSERT INTO `translation_keys` (`name`, `created_at`, `updated_at`) > VALUES(''key1'', ''2010-05-04 22:13:31'', ''2010-05-04 22:13:31'') > INSERT INTO `translation_values` (`created_at`, `updated_at`, `text`, > `language_id`) VALUES(''2010-05-04 22:13:31'', ''2010-05-04 22:13:31'', > ''value1'', NULL) > INSERT INTO `key_values` (`translation_key_id`, > `translation_value_id`, `created_at`, `updated_at`) VALUES(16, 27, > ''2010-05-04 22:13:31'', ''2010-05-04 22:13:31'') > INSERT INTO `key_values` (`translation_key_id`, > `translation_value_id`, `created_at`, `updated_at`) VALUES(16, 27, > ''2010-05-04 22:13:31'', ''2010-05-04 22:13:31'') > > And here is the new template: > > <% form_for(@key) do |f| %> > <% if f.error_messages.length > 0 %> > <div class="error-message"> > <%= error_messages_for :translation_key, :header_message => > ''Error'', :message => '''' %> > </div> > <% end %> > > <p> > <%= f.label :name, ''Key name'' %> > <br /> > <%= f.text_field :name %> > </p> > > <p> > <% f.fields_for :translation_values do |value_fields| %> > <%= value_fields.label :text, ''Content'' %> > <br /> > <%= value_fields.text_area :text %> > <% end %> > </p> > > <p> > <%= f.submit ''Create'' %> > </p> > <% end %> > > -- > You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. > To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org > To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com. > For more options, visit this group athttp://groups.google.com/group/rubyonrails-talk?hl=en.-- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.