我的 rails 应用程序中的 nil:NilClass 的未定义方法 'jobs'



拜托伙计们,我需要帮助解决这个问题。我试图找到工作/新.从我的轨道控制台;

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

路线.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

我没有在jobs_controller中添加before_action:authenticate_user!

我添加了它,它现在可以工作了:

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

最新更新