그래, strong_params을 설치하기 전에 MyBook.create!
을 사용하면 효과가 있지만 지금은 그렇지 않습니다.'어떻게 만드시겠습니까?' strong_params?
는 여기에 내가
@book = MyBook.create!(params.require(:my_book).permit(
:author_id => @author.id,
:user_id => @author.user_id)
)
을 시도했지만 내가 잘못 뭐하는 거지 Required parameter missing: my_book
을 얻고있다
class AuthorsController < ApplicationController
def new
@author = user.authors.build
end
def create
@author = Author.new(author_params)
if @author.save
@book = MyBook.create!(:author_id => @author.id,
:user_id => @author.user_id)
)
else
render :new
end
end
내 코드입니까? 각 속성을 하나씩 업데이트 할 수는 있지만 효율적이지는 않습니다. 보호 속성을 대량 할당 할 수는 없지만 (strong_params로 인해) 내 모델에 속성을 할당하지 않아도 어떻게 작동하는지 이해할 수 없습니다.
, 그것은처럼 보이는 것입니다 당신은 정말 PARAMS@book = MyBook.create!(:author_id => @author.id,
:user_id => @author.user_id)
)
는 "대량 할당"방법 PARAMS을 사용한 경우를 사용하지 않는 한,
'@ author' 객체를'.save'하지 않았기 때문에 create가 작동하지 않으므로'id'가 없습니다. – MrYoshiji
대신 @author = Author.create (author_params)를 사용하세요 .MyYoshiji 죄송합니다. 실제로 저자를 저장하고 거기에 포함하는 것을 잊었습니다. 방금 편집했습니다. – goo