0

我有2個模型與HABTM關係:作者和出版物。Rails的simple_form關聯沒有保存到db

使用simple_form,我能夠創建一個add new publication窗體,將所有可能的作者顯示爲複選框。但是,這些關聯不會保存到我的數據庫中。

我知道這是一個params許可證問題,但我不確定如何正確編寫它。目前,我有:

def publication_params 
    params.require(:publication).permit(:publication_id, :name, :year_published, :month_published, :day_published, :citation, :source, :abstract) 
end 

如何我寫這篇文章,這樣的軌道可能會允許從authors表的關聯(其中只有兩個columns-- author_idname)進行過保存?

回答

0

添加author_id到PARAMS:

def publication_params 
    params.require(:publication).permit(:author_id, :publication_id, :name, :year_published, :month_published, :day_published, :citation, :source, :abstract) 
end 
+0

不幸的是,這似乎並不奏效。 – League14

+0

你可以在這裏發佈控制器中收到的參數嗎? 你可以安裝這個gem https://github.com/pry/pry 然後在控制器動作的開始處添加「binding.pry」,然後在服務器的日誌中看到你可以評估參數 –

+0

'def publication_params params.require(:publication).permit(:publication_id,:author_id,:name,:year_published,:month_published,:day_published,:citation,:source,:abstract,) end' – League14

0

明白了!

我不得不將accepts_nested_attributes_for :authors, :journals添加到我的發佈模型中。然後在我的publications_controller,我不得不改變我的PARAMS到:

def publication_params 
    params.require(:publication).permit(:publication_id, :name, :year_published, :month_published, :day_published, :citation, :source, :abstract, :author_ids => [], :journal_ids => []) 
end 

這讓我新的關聯保存到我的數據庫,並正確更新了我的連接表。