Ruby on rails rails设置关联的默认值
在我的第一个Rails(5)应用程序中,我想为创建时的关联设置一个默认值。已经阅读了相关文档和许多问题,但仍然找不到答案 我在初始化后使用Ruby on rails rails设置关联的默认值,ruby-on-rails,activerecord,ruby-on-rails-5,Ruby On Rails,Activerecord,Ruby On Rails 5,在我的第一个Rails(5)应用程序中,我想为创建时的关联设置一个默认值。已经阅读了相关文档和许多问题,但仍然找不到答案 我在初始化后使用:设置默认值并希望为文档类型设置默认值 def set_default_values unless persisted? self.documenttype || 1 if self.documenttype.nil? self.dateformat ||= 'dd.mm.yyyy' if self.dateforma
:设置默认值并希望为文档类型设置默认值
def set_default_values
unless persisted?
self.documenttype || 1 if self.documenttype.nil?
self.dateformat ||= 'dd.mm.yyyy' if self.dateformat.nil?
end
end
我认为您在这里缺少一个=
:
self.documenttype || 1 if self.documenttype.nil?
应该是
self.documenttype ||= build_documenttype
或对于特定的文档类型:
self.documenttype ||= Documenttype.find(1)
编辑:
在评论OP中提到的documenttype
是一个有一个关联。您忘记了=
符号:self.documenttype | |=1
添加=
符号无法解析;然后它会呈现一个错误Documenttype(#70289997518120),got Fixnum(#70289925178420)
因此Documenttype需要一个不同类型的对象(Documenttype),而您正试图将默认值设为1,因此出现此错误。什么类型的变量是documenttype
?如果您能提供更多详细信息,那么我可能会提供帮助。这是一个has_one association控件self.documenttype | |=build_documenttype
,如果有帮助,那么我将更新我的回答,以及如何添加我想要作为默认值的特定文档类型?