2016-09-20 8 views
0

私は初心者です。ruby on railsを教えてください。 私はこのチュートリアルをYouTubeで学んでいます。私のコードに何も定義されていないメソッド "description"が見つかりません。

未定義のメソッド `description 'が見つかりませんでした。

Here my _form.html.hmal

Here my new.html.haml

ここに私のコードjobs_controller.rb

クラスJobsController < ApplicationControllerに before_action:find_job、のみ:[:ショー、編集、:更新、:破壊]

def index 
    @jobs = Job.all.order("created_at DESC") 
end 

def show 
end 

def new 
    @job = Job.new 
end 

def create 
    @job = Job.new(jobs_params) 

    if @job.save 
     redirect_to @job 
    else 
     render "New" 
    end 
end 

def edit 
end 

def update 
end 

def destroy #to delete 
end 

private 
def jobs_params 
    params.require(:job).permit(:title, :description, :company, :url) 
end 

def find_job 
    @job = Job.find(params[:id]) 
end 

end

+2

コードスニペットを画像としてではなくテキストとして投稿してください。 – mudasobwa

+0

@jobインスタンスにはdescription属性がありません。移行によって追加する必要があります。 – zolter

答えて

0

説明は、のジョブではありません。モデル/テーブルです。それでもあなたのフォームでそれを使用しています。なぜなら、未定義のメソッドの説明を与えているからです。

0

あなたの職種に関する説明がありません。あなたのコンソールで次のコマンドを実行します。

rails g migration add_description_to_jobs description 

「add_description_to_jobsは、」移行ファイル自体を作成し、「説明」は、文字列フィールド「説明」を作成します。 'description:integer'と答えた場合は、代わりに整数として作成しますが、この場合は必要ありません。

0

私が見ることができることは、あなたが@jobでシンプルsimple_form_forを使用している、とのコードで、あなたが

f.input :description, label: "Job Description" 

を持っているので、このエラーは@jobオブジェクトは、あなたが持っている「説明」属性を、持っていないことを意味f.inputと一緒に使用されている場合は、それを確認してください。

関連する問題