Ruby on rails 在ActiveRecord::Migration中将模块常量引用为:默认值时出错

Ruby on rails 在ActiveRecord::Migration中将模块常量引用为:默认值时出错,ruby-on-rails,rake,Ruby On Rails,Rake,我试图通过指向一个模块常量来设置属性的默认值,但事情并没有按计划进行。有关守则包括: [lib/establishments.rb] module Establishments BAR = "Bar" RESTAURANT = "Restaurant" BENEFIT = "Benefit" end [20140321164012_add_type_to_discount] include Establishments class AddTypeToDiscount < Ac

我试图通过指向一个模块常量来设置属性的默认值,但事情并没有按计划进行。有关守则包括:

[lib/establishments.rb]
module Establishments
  BAR = "Bar"
  RESTAURANT = "Restaurant"
  BENEFIT = "Benefit"
end

[20140321164012_add_type_to_discount]
include Establishments
class AddTypeToDiscount < ActiveRecord::Migration

  def change
    add_column :discounts, :type, :string, :default => Establishments::RESTAURANT
  end
end

rake db:migrate
到迁移文件的顶部,但这表示没有此类文件。

请尝试:

require "#{Rails.root}/lib/establishments"
然后,您可以使用
场所::餐厅

尝试:

require "#{Rails.root}/lib/establishments"

然后,您可以使用
设施::餐厅
使用
要求相对的“../../lib/设施”
而不是
包括设施
使用
要求相对的“../../lib/设施”
而不是
包括设施
谢谢您的回答,全部有效-正如我发现的(同样有效)


谢谢你的回答,所有的答案都是有效的——正如我发现的(同样有效)


啊,是的,但谁得到了答案票-我真的要投一枚硬币:)哈哈哈:)如果我可以建议,选择市场,他比我快4秒。好吧,他活该:)@KirtiThorat我发现这有更多的选择:。啊,是的,但谁得到了答案票-我真的要投一枚硬币:)哈哈哈:)如果我可以建议,选择市场,他比我快4秒。他活该:)@KirtiThorat我发现这有更多的选择:。
require "#{Rails.root}/lib/establishments"
require File.expand_path('lib/establishments')