0
在Rails 4中,爲什麼不將genre_id
數組保存到數據庫中?我認爲這是因爲id被讀爲一個字符串,當它需要被保存爲一個整數,但在過去,我沒有這個問題。Rails多重選擇形式:不隱式將字符串轉換爲Integer
我在嘗試POST以下時no implicit conversion of String into Integer
錯誤:
<%= form_for @project do |f| %>
<%= select_tag 'project[genres_projects_attributes][genre_id][]',
options_for_select(Genre.order(:id).collect{|g| [g.name, g.id]}),
{ include_hidden: true, multiple: true, class: 'form-control'} %>
<% end %>
在我的應用程序,
Project has_many :genres, through: :genres_projects
我的參數是這樣的:
{"utf8"=>"✓","authenticity_token"=>"[xxx]",
"project"=>{"name"=>"sdfds",
"genres_projects_attributes"=>{"genre_id"=>["2",
"3",
"4"]},
"commit"=>"Go!"}
我project_params:
def project_params
params.require(:project).permit(:id, genres_projects_attributes:
[:id, {genre_id: []}, :project_id])
end
下面是我的控制器的投擲錯誤的行:
def create
@project = Project.create(project_params)
end
你有基於項目的ID?當你從rails控制檯傳入參數時,你得到'project = Project.create!(project_params)'(注意感嘆號)時,你會得到什麼? – timpone
不,項目沒有身份證進入。 – allenwlee