私のレールアプリケーションに問題があります。基本的に私は人々が仕事を申請できるシンプルなウェブサイトを作ろうとしています。ユーザーが特定の求人情報を表示するために、求人ページ(求人情報のページで構成されている)上で「表示」をクリックすると、求人情報が追加された新しいページに移ります。 (私はこれを候補者ページへのリンクなどのより効率的な方法にするつもりですが、候補者がコメントできる単純なテキストボックスとして保持しています) )。候補者がコメントを提出しようとするときに問題が発生し、上記のエラーが発生します。多くの関係が設定されている、つまりジョブには多くのリクエストがあり、リクエストには多数の候補者があります。などです。私は以前このメッセージを受けていました。変数を修正するだけのケースでした名前の間違いは、私はしばらくの間これを見てきました、それは友人が読んだ証拠を持っていて、私はまだエラーを見つけることができません。RequestsControllerのNameError#未定義のローカル変数またはメソッドのための `request_params '#<RequestsController:0x5635d28>
RequestsController
class RequestsController < ApplicationController
before_action :authorise
#set_request, only: [:show, :edit, :update, :destroy]
def create
@job = Job.find params[:job_id]
@request = @job.requests.new(request_params) <- Error highlights this line
@request.candidate_id = @current_candidate.id #sets the user_id FK
@request.save #saves the @comment
# object to the comments table
respond_to do |format|
format.html{redirect_to @job}
end
end
private
def comment_params
#This is the method ehich whitelists the data fields from the format
params.require(:request).permit(:content, :job_id, :candidate_id)
end
end
要求モデル
class Request < ActiveRecord::Base
belongs_to :job, dependent: :destroy
has_many :candidates
end
候補モデル
class Candidate < ActiveRecord::Base
has_secure_password
validates_uniqueness_of:can_email
belongs_to :request
validates :can_name, presence: true
validates :can_surname, presence: true
validates :college, presence: true
validates :can_email, presence: true
validates :address, presence: true
validates :experience, presence: true
validates :password_digest, presence: true
validates :college_year, numericality: { only_integer: true }
end
仕事モデル
class Job < ActiveRecord::Base
belongs_to :sector
has_many :requests, dependent: :destroy
validates :name, presence: true
validates :employer, presence: true
validates :sector, presence: true
validates :experience_req, presence: true
validates :job_info, presence: true
end
[OK]をする必要があり、あなたが最初でした。ただ、今回のD –
:P – Ursus
スポットに!なぜこれが今、それ以下の行に別のエラーを作り出したのか "NoMethodError in RequestsController#create、 未定義メソッド' candidate_id = 'for# "これは関係に問題があると感じましたか? –