Я новичок в рубинах на рельсах. Ошибка 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, но я считаю, что я установить отношения правильно. Я использую камень разработать для обработки пользователя и вход/регистрация и т.д.
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 работает отлично и похож на код, который я должен сделать, чтобы новый Renter работал, поэтому я не уверен, что не так.
спасибо, не знал, классы должны были быть особыми. изменили мои модели и контроллеры, а также пути и теперь работающие благодаря – user1558835