У меня есть следующие настройки:Rails update_attributes для конкретной связанной модели
class Post < ApplicationRecord
has_many :comments, inverse_of: :post, dependent: :destroy
accepts_nested_attributes_for :comments
end
class Comment < ApplicationRecord
belongs_to :post
end
Если я называю post.update_attributes(post_params)
Где post_params
следующее:
post_params = {
"content"=>"Post something",
"comments_attributes"=>{
"0"=>{
"content"=>"comment on something"
}
}
}
комментария по комментариям создаются и связанные с этим сообщением.
Есть ли способ для нас update_attributes в сообщении и по-прежнему обновлять конкретный комментарий, связанный с этим сообщением?
Может быть что-то вроде:
post_params = {
"content"=>"Post something",
"comments_attributes"=>{
"0"=>{
"id"=>"1", #if the id exist update that comment, if not then add a new comment.
"content"=>"comment on something"
}
}
}
Итак, я могу назвать post.update_attributes(post_params)
и воспользоваться accepts_nested_attributes_for
об обновлениях.
Если это невозможно, то какой лучший способ сделать обновление сообщения с обновлением связанного комментария?
Любая помощь была бы принята с благодарностью.
Спасибо! Похоже, что в моем вопросе было что-то, что я написал. Когда я попробовал что-то подобное, это не сработало. Но оказалось, что я не установил идентификатор в своих Сильных Парамах. Еще раз спасибо. :-) – user2517182