相关疑难解决方法(0)

为我的Rails应用程序创建自定义配置选项的最佳方法?

我需要为我的Rails应用程序创建一个配置选项.对于所有环境都可以是相同的.我发现,如果我把它设置好environment.rb,它可以在我的视图中使用,这正是我想要的......

environment.rb

AUDIOCAST_URI_FORMAT = http://blablalba/blabbitybla/yadda
Run Code Online (Sandbox Code Playgroud)

效果很好.

但是,我有点不安.这是一个很好的方法吗?有没有更时尚的方式?

ruby environment configuration ruby-on-rails

132
推荐指数
7
解决办法
7万
查看次数

Rails 3 /设置自定义环境变量

我正在尝试创建一个rails应用程序,它在环境是开发环境时为变量分配一个值,在环境是生产环境时为该变量分配另一个值.我想在我的代码中指定两个值(硬连线),并让rails知道根据运行的环境分配给变量的值.我该怎么做呢?

如果它很重要,我稍后访问该变量并在模型的类方法中返回其值.

ruby-on-rails-3

16
推荐指数
2
解决办法
2万
查看次数

自定义导轨配置部分

为rails应用程序创建自定义配置部分的最佳方法是什么?理想情况下,我希望最终结果是api调用,如:

Rails.configuration.foo.bar
Rails.configuration.foo.baz
Run Code Online (Sandbox Code Playgroud)

例如

Rails.configuration.stackoverflow.api_key
Rails.configuration.stackoverflow.api_secret
Run Code Online (Sandbox Code Playgroud)

我会将stackoverflow配置存储在某个.rb文件(config/initializers?)中,我显然会有其他类似命名空间的内容 Rails.configuration

ruby ruby-on-rails

15
推荐指数
1
解决办法
4194
查看次数

获取rails控制器中的环境设置

我在development.rb中有一些电子邮件设置,我想在我的控制器中访问它.

设置development.rb是:

config.notify_submited_transaction = 'anil@swiftsetup.com,anildbest83@gmail.com'
config.notify_approved_transaction = 'anil@swiftsetup.com'
Run Code Online (Sandbox Code Playgroud)

在我的控制器/动作中,我正在尝试这个:

  @to = Rails.env.notify_submited_transaction
  @subject = 'AM - Vendor Submitted Transaction'
  AmMailer.vendor_submited_transaction(@to, @subject, current_user).deliver
Run Code Online (Sandbox Code Playgroud)

这虽然导致错误:

  undefined method `notify_submited_transaction'
Run Code Online (Sandbox Code Playgroud)

我不知道如何获得我设置的配置值.

谢谢你的帮助.

ruby-on-rails

7
推荐指数
2
解决办法
1万
查看次数

在模型中使用Rails应用程序配置变量

我在rails应用程序中定义了自定义配置变量(APP_CONFIG哈希).好的,现在我如何在模型中使用这些变量?在模型中直接调用APP_CONFIG ['variable']是一种非导轨方式!例如,我可以在没有Rails环境的情况下使用这些模型.然后没有定义APP_CONFIG.

ATM我使用模型观察器并使用实例变量分配全局配置变量,如下所示:

def after_initialize model
  Mongoid.observers.disable :all do
    model.user_id = APP_CONFIG['user_id'])
    model.variable = User.find(model.user_id).variable
  end
end
Run Code Online (Sandbox Code Playgroud)

但这个解决方案看起来像一个猴子补丁.还有更好的方法吗?

或者我应该保持最简单,只需在新应用程序(而不是Rails应用程序)中定义APP_CONFIG哈希?

ruby-on-rails

5
推荐指数
1
解决办法
2297
查看次数

存储应用程序参数的最佳位置在哪里:数据库,文件,代码......?

我正在开发一个Ruby on Rails网站,我有一个"架构"问题:我的应用程序需要一些参数,我想知道在哪里存储它们.

具体而言,我的应用程序会收到一些评估然后发送的请求.因此,请求模型必须具有与这些处理相关的属性:验证状态发送状态.例如,验证状态可以是" 接受 "," 拒绝 "或" 等待 ".发送状态可以是" 发送 "," 等待 "," 发送期间出错 "或类似的东西.我必须在某处存储这些状态代码参数,但我不知道什么是最佳解决方案.

我可以为每个模型创建一个模型并将它们存储在数据库中(例如,有一个活动的记录模型ValidationStatus)但是:创建一个数据库/模型来存储这样的数据不是一件容易的事吗?

我也可以在代码中使用它们而不"存储"它们,我可以将它们存储在YAML文件中......

那么,一个更简单的问题是:如何处理RoR中的应用程序参数?

database architecture ruby-on-rails

3
推荐指数
1
解决办法
7543
查看次数

如何在Ruby on Rails中为我的开发和生产环境设置不同的api密钥?

我正在做一些涉及Stripe API的开发.在我的开发环境中,我正在使用条带测试密钥.在生产中我使用真正的api密钥,以便我可以处理真正的事务.

我目前只是在部署到生产环境之前立即更换测试api密钥; 这感觉不太好.我非常肯定可以使用的策略是使用gitignore创建一个开发分支(忽略我加载api密钥的初始化程序),然后在部署之前将其与master分支合并; 这样,api密钥在各自的环境中始终是正确的.我不是很喜欢这种方法.是否有某种方法在某处配置这些api密钥,以便应用程序只知道在dev/prod中使用哪一个?

development-environment ruby-on-rails

1
推荐指数
1
解决办法
3423
查看次数

Rails:在哪里定义facebook app id,以便设计初始化程序和控制器可用.

我正在尝试设置fb应用程序ID(由omniauth使用),以便其全局设计初始化程序和控制器.

更多信息

我需要它在设计初始化(config/initializer/devise.rb),以便我可以设置config.omniauth:facebook,fb_app_id,fb_app_secret

试图解决方案

我尝试将此信息添加到yml文件(http://railscasts.com/episodes/85-yaml-configuration-file)中,但是,看起来像是为控制器设置了yml哈希,但我无法将其用于设计初始化.

/home/ubuntu/myapp/config/initializers/devise.rb:215:in `block in <top (required)>': uninitialized constant APP_CONFIG (NameError)
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

yaml ruby-on-rails global-variables devise omniauth

0
推荐指数
1
解决办法
2091
查看次数