如果作业has_one cv与之关联:
class Job < ActiveRecord::Base
has_one :cv
end
我按如下方式设置路线:
resources :jobs do
resource :cv
end
当我想为作业创建简历时,请遵循以下链接:
<%= link_to "Add CV", new_job_cvs_path(j) %>
与CV控制器中的以下方法相关联:
def new
@job = Job.find(params[:job_id])
@job_cv = @job.cv.new
end
然而,这导致我得到以下错误,@ job_cv行:
SQLite3::SQLException: no such column: cvs.job_id: SELECT "cvs".* FROM "cvs" WHERE "cvs"."job_id" = ? LIMIT 1
我想我在某个地方设置了一些错误,我只是不知道在哪里......
答案 0 :(得分:0)
您忘记为新关系创建迁移,通过
创建新迁移rails g migration AddCvToJobs
然后在app/db/migrate/xxx_add_cv_to_jobs.rb
中编辑新创建的迁移文件:
class AddCvToJobs < ActiveRecord::Migration
def change
add_column :cvs, :job_id, :integer, index: true
end
end
然后运行rake db:migrate
并重试。