Występuje problem podczas próby zapisania modelu, który ma wiele poziomów accepts_nested_attribetus_for.Szyny 4 silne parametry, gdy wielopoziomowy accepts_nested_attributes_for
Moim przypadkiem użycia jest strona użytkownika, w której użytkownik może utworzyć wiele pytań, a także wiele odpowiedzi na pytanie.
Co się dzieje jest to, że ponieważ nie może być wiele pytań na temat strony podnoszą hash parametrów dla Użytkownika, na przedstawienia, wygląda następująco:
{"user"=>{"questions_attributes"=>{"0"=>{"desc"=>"question", "answers_attributes"=>{"0"=>{"ans"=>""}}}}}}
I jako takie, błąd jestem coraz to " Nieprawidłowy parametr: 0 ". W jaki sposób poprawnie skonfigurować uprawnienia silnych parametrów, aby można było poprawnie zapisać wszystkie modele? Potrafię przeglądać pytania i zapisywać je indywidualnie, a to działa, ale miałem nadzieję, że będzie to czystszy sposób.
user.rb
has_many :questions
accepts_nested_attributes_for :questions
question.rb
belongs_to :user
has_many :answers
accepts_nested_attributes_for :answers
answer.rb
belongs_to :question
users_controller.rb
def update
user = User.find_by_id params[:id]
user.questions.create question_params(params[:user])
end
def question_params(params)
params.require(:question_attributes).permit(:desc, {:answers_attributes => [:ans]}
end
To nie działa. Zawsze mówiący atrybut **: ans ** jako ** Niepotwierdzony ** – Sachin
Czy ktoś znalazł sposób, aby to zadziałało? Mam taki sam problem w Rails 5 – lkartono