我想分解我的應用程序的註冊過程到不錯的一口大小的塊。Rails 4 update_attributes,嵌套屬性不保存
因此,我通過Ajax
發佈表單,並試圖更新該流程的該步驟中可用的一些模型屬性,基本上意味着它們在每個保存點都不會有效。
因此,我一直在使用update_attribute
它工作正常。然而,我的一個屬性是一個has_many
協會,我很努力得到這個工作。
我有Channel
模型與has_many :channel_tags
,還accepts_nested_attributes_for :channel_tags
。當我使用更新方法時,保存和更新工作正常,但我無法使用update_attribute
或update_attributes
。
據我所知,我需要使用update_attributes
。我想做類似的事情:
@channel.update_attributes(channel_tags_attributes: params[:channel][:channel_tags_attributes])
但是,這並不會創建新的channel_tags。我也曾嘗試用:
@channel.update_attributes(tag_params)
和:
params.require(:channel).permit(channel_tags_attributes: [ :id, :channel_id, :tag_id, :_destroy ]);
但同樣,它只是似乎沒有做任何事情。
從控制檯檢查時,似乎發生了所有情況,因爲它正在爲數據庫和類別加載Channel
。
我做錯了什麼,還是有更好的方法呢?
你試過@ channel.update_attributes(PARAMS [:頻道] [:channel_tags_attributes])? –
我們需要更多信息。你能否展示你的表單和/或表單發佈的參數? –