0

定義の作成

(1..params[:book_detail][:no_of_copies].to_i).each do |i|

  logger.info "nnnnnnnnnnn#{i}"
  @book_details= BookDetail.new(params[:book_detail])
  @book_details.save
end

エラーは未定義のメソッド[]' for nil:NilClass app/controllers/book_details_controller.rb:16:inの作成です'

誰が問題が何であるかを知ることができますか?

4

2 に答える 2

2

あなたが得ているエラーはそれであり、あなたがそれを呼び出しているためparams[:book_detail]です。つまり、nil.So、次のエラーが発生していますnil[:no_of_copies]

 undefined method []' for nil:NilClass 

params[:book_detail]したがって、次のように存在するかどうかを最初に確認する必要があります

(1..params[:book_detail][:no_of_copies].to_i).each do |i|    
  logger.info "nnnnnnnnnnn#{i}"
  @book_details= BookDetail.new(params[:book_detail])
  @book_details.save
end if params[:book_detail] && params[:book_detail][:no_of_copies]
于 2013-08-08T05:43:03.197 に答える