在哪里放置常数

时间:2016-06-23 21:57:21

标签: ruby-on-rails slim-lang

Rails 3.2

我想在Rails项目中使用一些常量。它们是字符串常量。我把它们放在lib / code_constants.rb

confirm_payment = 'Confirm Payment'

在我看来(使用SLIM),我将以下内容作为第一行:

- include CodeContants
= form_for(@payments, url: payment_path) do |f|
.....
.actions = f.submit confirm_payment 

我收到以下错误消息:

预期/app/lib/code_constants.rb来定义CodeConstants

我对SLIM有些新意,但我认为通过在此处包含文件,我可以在视图中使用常量

2 个答案:

答案 0 :(得分:1)

我猜您在application.rb中并不需要此文件。

application.rb中输入此代码。

config.autoload_paths << "#{Rails.root}/lib"

然后,在code_constants.rb中,您可以写为:

module CodeConstants
 confirm_payment = 'Confirm Payment'
end

在您查看文件中,您可以使用常量跟随:

= form_for(@payments, url: payment_path) do |f|
.....
.actions = f.submit CodeConstants::confirm_payment

答案 1 :(得分:0)

Rails'国际化比定义常量更适合这种用例。查看http://guides.rubyonrails.org/i18n.html上的指南。