如何使用Ruby on Rails在初始化程序中调用app Model

时间:2014-03-27 06:38:44

标签: ruby-on-rails ruby ruby-on-rails-3

我是Ruby on Rails的新手,我使用的是Ruby版本2.1.0和Rails 4.0.2

我的查询是: -

我想在初始值设定项中调用模型

我的模型文件是 setting.rb 模型名称设置。它的位置是 app / model 目录。

我想在初始值设定项文件 paypal.rb 中调用设置模型

paypal.rb 位置 config / initializers / paypal.rb

请帮助如何在 Ruby on Rails 中的初始值设定项中调用模型

3 个答案:

答案 0 :(得分:7)

在运行此初始化程序之前,是否要确保所有其他初始化程序都已运行?如果是这样,你可以这样做:

# config/initializers/paypal.rb
Rails.configuration.after_initialize do
  paypal_settings = Setting.find_by(name: "paypal")
  # do something with paypal settings...
end

答案 1 :(得分:0)

要解决这个问题,我这样做:

  1. 首先,我检查表是否存在。
  2. 然后我检查我的记录是否存在。
  3. 否则,我只是设置一个默认值。

有点像骇客,但适用于我的用例。

if ActiveRecord::Base.connection.table_exists? :settings # check if table exists
  if Setting.first.present? # check if first record has been seeded
    NUMBERS = Setting.first.my_numbers.split(",")
  else
    NUMBERS = '987654321'
  end
else
  NUMBERS = '123456789'
end

答案 2 :(得分:-1)

在导轨中,无论您身在何处,都可以与模特进行互动。 喜欢

Setting.method_name()

在rails应用程序中,您可以创建自己的新文件夹(期望由rails new命令创建的默认目录),并且可以与Model方法进行交互。