저는 Ryan Bate 에피소드 # 285의 첫 번째 부분을 따릅니다. 왜 작동하지 않는지 확실하지 않습니다.Rails collection_select가 레코드를 생성하지 않습니다. - nil id
모델 :
<%= form_for ([@user, @comic]) do |f| %>
<div><%= f.collection_select :genre_ids, Genre.order(:genre), :id, :genre, {}, {multiple: true} %></div>
<%= f.submit class: "btn btn-primary" %>
<% end %>
만화 컨트롤러 :이 같은 콘솔에서
def create
@user = current_user
@comic = @user.comics.new(comic_params)
respond_to do |format|
if @comic.save
format.html { redirect_to @comic, notice: 'Comic was successfully created.' }
format.json { render action: 'show', status: :created, location: @comic }
else
format.html { render action: 'new' }
format.json { render json: @comic.errors, status: :unprocessable_entity }
end
end
end
def comic_params
params.require(:comic).permit(:id, :title, :synopsis,
comic_pages_attributes: [:comic_page_image],
comics_genres_attributes: [:genre_id, :comic_id])
end
, 내가 얻을 기록 새로운 만화를 만들기위한
class Comic < ActiveRecord::Base
has_many :comics_genres
has_many :genres, through: :comics_genres
end
class ComicsGenre < ActiveRecord::Base
belongs_to :genre
belongs_to :comic
end
class Genre < ActiveRecord::Base
has_many :comic_genres
has_many :comics, through: :comics_genre
end
형태로 여기에 코드입니다 :
문제는 genre_id가 nil이지만 올바른 값을 전달하는 방법을 모르겠다는 것입니다.
감사합니다.
은 선택 컬렉션을 구축 할 양식 빌더를 사용하여 [: 사용자] [: 만화] [: genre_ids를] ' – MrYoshiji
사과드립니다. 나는 f.collection_select를 입력하려고했다. ... comics_genre 테이블에 매개 변수를 쓰는 데 어려움을 겪고있다. – Jayway