Я пытаюсь сделать новую запись в моем методе создания.
У пользователей много квартир.
Когда я запускаю этот код, я получаю эту ошибку:
NoMethodError (undefined method `apartments' for nil:NilClass): `create'
Вот как выглядит мой контроллер:
class ApartmentsController < ApplicationController
# skip_before_action :verify_authenticity_token
def index
@user = User.all
@apartments = Apartment.all
render :json => @apartments, :include => :user
end
def create
# apartment = Apartment.create
# render json: apartment
@apartment = current_user.apartments.build(params[:apartment])
end
def apartment_params
params.require(:apartment).permit(:street_name)
end
end
Это мой контроллер приложения:
class ApplicationController < ActionController::Base
before_action :authenticate_user!
protect_from_forgery with: :null_session
before_action :configure_permitted_parameters, if: :devise_controller?
def after_sign_in_path_for(resource)
protected_path
end
def after_sign_out_path_for(resource)
root_path
end
def configure_permitted_parameters
devise_parameter_sanitizer.permit(:sign_up, keys: [:name, :phone, :hours])
end
end
Я посмотрел другие подобные посты, но, похоже, не решил проблему.
Решение в этом посте не предоставило решения: Метод Current_user с использованием devise