Ruby on rails Rails:无法使用方法设置选项

Ruby on rails Rails:无法使用方法设置选项,ruby-on-rails,ruby,Ruby On Rails,Ruby,例如,这里是我的回形针配置。这是我的模型文件: class File < ApplicationRecord belongs_to :attachable, polymorphic: true, optional: true has_attached_file(:attach_file, local_option) end 运行时,我遇到以下错误: 方法_缺失:未定义的局部变量或方法“局部_选项” 类别:0x007fc9be09dac8>(名称错误) 我不知道为什么rub

例如,这里是我的回形针配置。这是我的模型文件:

class File < ApplicationRecord  
   belongs_to :attachable, polymorphic: true, optional: true
   has_attached_file(:attach_file, local_option)
end
运行时,我遇到以下错误:

方法_缺失:未定义的局部变量或方法“局部_选项” 类别:0x007fc9be09dac8>(名称错误)

我不知道为什么ruby/rails没有看到
local\u选项
方法。请告诉我怎么做


谢谢

它应该是类实例方法,而不是实例方法

def self.local_option
  {
    storage: :filesystem,
    path:    'public/:class/:id/:basename.:extension'
  }
end
瞧,错误消失了

建议:因为它是不变的数据,所以我将它放入一个常量:

LOCAL_FILE_OPTIONS = {
  storage: :filesystem,
  path:    'public/:class/:id/:basename.:extension'
}.freeze
现在


我已经像你说的那样改变了,但是错误仍然是一样的。@TrầnKimDự 不可能。这是我的完整代码:我仍然遇到同样的错误;(如果我使用常量解决方案,我会遇到错误:
未初始化常量附件::本地\u文件\u选项
@TrầnKimDự 这是不可能的。如果在正确的类中使用hte常量,请仔细检查命名,检查。重新启动服务器。调试
LOCAL_FILE_OPTIONS = {
  storage: :filesystem,
  path:    'public/:class/:id/:basename.:extension'
}.freeze
has_attached_file(:attach_file, LOCAL_FILE_OPTIONS)