undefined метод `jobs 'для nil: NilClass в моем приложении rails - PullRequest
1 голос
/ 09 апреля 2019

Пожалуйста, ребята, мне нужна помощь в решении этой проблемы. Я пытался получить работу / новый. Из моей консоли rails;

NoMethodError - undefined method `jobs' for nil:NilClass:
  app/controllers/jobs_controller.rb:17:in `new'

routes.rb

Rails.application.routes.draw do
  resources :jobs
  devise_for :users
    resources :home
    root 'jobs#index'
  end

jobs_controller.rb

 # GET /jobs/new
  def new
    @job = current_user.jobs.build
  end

  # POST /jobs
  # POST /jobs.json
  def create
    @job = current_user.jobs.build(job_params)

    respond_to do |format|
      if @job.save
        format.html { redirect_to @job, notice: 'Job was successfully created.' }
        format.json { render :show, status: :created, location: @job }
      else
        format.html { render :new }
        format.json { render json: @job.errors, status: :unprocessable_entity }
      end
    end
  end

1 Ответ

1 голос
/ 09 апреля 2019

Я не добавил before_action: authenticate_user!в файле jobs_controller.

Я добавил его, и теперь он работает:

# jobs_controller
class JobsController < ApplicationController
  before_action :authenticate_user!, except: [:index, :show]

  # stuffs
  def method
  end

  def method
  end
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...