Что эквивалентно <%= f.hidden_field :_destroy %>
для уничтожения вместо уничтожения? (я просто должен был удалить его из ассоциации, но я не хочу его уничтожать).Rails Nested Model - Remove Association
Пример ситуации будет:
class Foo < ActiveRecord::Base
has_many :bar, :dependent=>:nullify, :autosave=>true
accepts_nested_attributes_for :bar, :reject_if => proc { |attributes| attributes.all? {|k,v| v.blank?} }
class Bar < ActiveRecord::Base
belongs_to :foo
В edit.html.erb
Foo в:
<%= f.fields_for :bar do |builder| %>
<%= builder.some_rails_helper %>
<%= builder.hidden_field :_remove #<-- set value to 1 to destroy, but how to unassociate?%>
<% end %>
Одно небольшое изменение в раствор
def remove
#!self.foo_id.nil? should be:
false #this way newly created objects aren't destroyed, and neither are existing ones.
end
Так что теперь я могу позвонить .редактировать .html:
<%= builder.hidden_field :_remove %>
Вы, сэр, очень полезны. – SooDesuNe 2010-12-08 01:08:29