Rails 4 NIE aktualizuje zagnieżdżonych atrybutów

Kwestia: Zamiastaktualizacja zagnieżdżone atrybuty sąstworzony nad istniejącymi zagnieżdżonymi atrybutami, gdy trafię#update działanie stowarzyszonychfeatures_controller.rb

Prawdopodobna przyczyna: Myślę, że problem tkwi w moim braku zrozumienia w Railsachform_for. Myślę, że podział jest w moich widokach, jak renderuję trwałe zagnieżdżone atrybuty i / lubjak nie mogę określić identyfikatora zagnieżdżonego atrybutu, powodując po prostu utworzenie nowego

feature.rb

class Feature < ActiveRecord::Base
  ...
  has_many :scenarios
  accepts_nested_attributes_for :scenarios,
    allow_destroy: true,
    reject_if: :all_blank
  ...
end

features_controller.rb

def update
  ...
  project = Project.find(params[:project_id])
  @feature = Feature.find(params[:id])

  if @feature.update_attributes(feature_params)
    # checking feature_params looks good...
    # feature_params['scenarios'] => { <correct object hash> }

    redirect_to project
  else
    render :edit
  end
end

...

private
def feature_params
  params.require(:feature).permit(:title, :narrative, :price, :eta, scenarios_attributes[:description, :_destroy])
end

_form.html.haml (uproszczony)

= form_for [@project, @feature] do |f|
  ...
  - if @feature.new_record? -# if we are creating new feature
    = f.fields_for :scenarios, @feature.scenarios.build do |builder|
      = builder.label :description, "Scenario"
      = builder.text_area :description, rows: "3", autocomplete: "off"

  - else -# if we are editing an existing feature
    = f.fields_for :scenarios do |builder|
      = builder.label :description, "Scenario"
      = builder.text_area :description, rows: "3", autocomplete: "off"

Jestem pewien, że jest lepszy sposób na osiągnięcieif @feature.new_record? czek. Używam także kilku haków JavaScript do tworzenia dynamicznych zagnieżdżonych form atrybutów (które pominąłem), pod silnym wpływemRailscast # 196 Zagnieżdżony formularz modelu (poprawiony)

Bardzo bym chciałSzyny-y implementacja radzenia sobie z tego rodzaju zagnieżdżonymi formami.

questionAnswers(2)

yourAnswerToTheQuestion