rails中的ActiveRecord :: UnknownAttributeError

时间:2014-11-20 16:05:06

标签: ruby-on-rails ruby rails-activerecord

我的网站已启动并运行了几个月。在其中,有一个名为Project的模型。我最近在items表中添加了一个名为“expired”的布尔数据库字段,默认设置为false。现在,在尝试创建项目时,我只在生产中收到以下错误:

NilClass#create (ActiveRecord::UnknownAttributeError) "unknown attribute: expired"

我认为这意味着db字段不存在,但我检查了控制台并且“expired”属性存在。错误发生在项目控制器的这一行:

@project = current_user.projects.new(project_params)

这是project_params:

def project_params
    params.require(:project).permit(:title, :location, :budget, :description, 
                                    :time_frame, {:tag_list => []}, 
                                    questions_attributes: [:content, :id, :_destroy])
end

我不确定导致此错误的原因。一般来说,我只想处理未过期的项目,所以我在模型中有以下内容:

default_scope { where(expired: false) }

我不知道为什么会导致这个错误。我还需要默认的范围是过期的,所以我不能把那条线拿走。

我该如何解决这个问题?

0 个答案:

没有答案