0
레일 4에서 genre_id
의 배열이 데이터베이스에 저장되지 않는 이유는 무엇입니까? 정수로 저장해야 할 때 ID가 문자열로 읽혀지기 때문입니다.하지만 과거에는이 문제가 없었습니다. Rails 다중 선택 형식 : 문자열을 정수로 암시 적으로 변환하지 않음
Project has_many :genres, through: :genres_projects
내 매개 변수
는 다음과 같이, 내 응용 프로그램에서<%= 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 %>
:
{"utf8"=>"✓","authenticity_token"=>"[xxx]",
"project"=>{"name"=>"sdfds",
"genres_projects_attributes"=>{"genre_id"=>["2",
"3",
"4"]},
"commit"=>"Go!"}
내 project_params
나는 다음과 같은 POST하려고no implicit conversion of String into Integer
오류가 발생합니다 :
여기
def project_params
params.require(:project).permit(:id, genres_projects_attributes:
[:id, {genre_id: []}, :project_id])
end
(10)는 오류를 던지고 내 컨트롤러의 라인입니다 :
def create
@project = Project.create(project_params)
end
당신이 있습니까? 당신이 할 때 당신은'project = Project.create (project_params)'(느낌표를 적어주세요)를 당신의 매개 변수를 전달하는 레일 콘솔에서 얻었습니까? – timpone
아니요, 들어오는 프로젝트 ID가 없습니다. – allenwlee