Ruby on Railsの新機能です。私が持っているIHEエラーがNameError初期化されていない定数Model :: Object
NameError in ReviewsController#create
uninitialized constant User::Review
Extracted source:
@review = current_user.reviews.build(review_params)
である私が間違っている名前や忘れbelongs_toのかhas_manyのための通常のエラー他のスタックオーバーフローの質問に読んで、私は私が正しく関係を設定していると信じています。私は、ユーザーを処理し、サインインする工夫宝石を使用していますの/ etc
Reviews.rb
class Reviews < ActiveRecord::Base
belongs_to :user
belongs_to :renters
end
User.rb
class User < ActiveRecord::Base
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
has_many :reviews
end
Reviews_Controller.rbを申し込みます
class ReviewsController < ApplicationController
before_action :set_renter
before_action :authenticate_user!
def new
@review = Reviews.new(renters: @renter)
end
def create
@review = current_user.reviews.build(review_params)
@review.renter = @renter
@review.save
redirect_to @renter
end
private
def set_renter
@renter = Renters.find(params[:renter_id])
end
def review_params
params.require(:reviews).permit(:comment, :rating)
end
end
Rentersモデルは正常に動作しています。同様のコードで新しいレンタを作成する必要があるため、何が間違っているかわかりません。
おかげで、クラスが単数形でなければならなかった知りませんでした。私のモデルとコントローラ、そしてパスを変更しました。 – user1558835