Ruby on rails rails组织服务对象的文件夹
我正在尝试创建一个服务对象来从Ruby on rails rails组织服务对象的文件夹,ruby-on-rails,service-object,Ruby On Rails,Service Object,我正在尝试创建一个服务对象来从product.rbAR模型中提取一些方法,但由于某些原因,我无法自动加载新的TwitterShare类。当我点击控制台并尝试类似于Product.last.twitter\u share\u text的操作时,我得到NameError:uninitialized constant Product::TwitterShare错误 这是怎么回事?我应该如何组织我的文件夹/文件?我必须告诉rails自动加载服务吗?以下是当前代码: app/models/product.
product.rb
AR模型中提取一些方法,但由于某些原因,我无法自动加载新的TwitterShare
类。当我点击控制台并尝试类似于Product.last.twitter\u share\u text
的操作时,我得到NameError:uninitialized constant Product::TwitterShare
错误
这是怎么回事?我应该如何组织我的文件夹/文件?我必须告诉rails自动加载服务吗?以下是当前代码:
app/models/product.rb
class Product < ActiveRecord::Base
def twitter_share_text
TwitterShare.new(name: self.name, oneliner: self.oneliner).return_text
end
您需要让
rails
知道在哪里可以找到TwitterShare
将以下内容添加到您的应用程序.rb
config.autoload_paths << "#{Rails.root}/app/services"
config.autoload\u路径您需要让rails
知道在哪里可以找到TwitterShare
将以下内容添加到您的应用程序.rb
config.autoload_paths << "#{Rails.root}/app/services"
config.autoload\u路径。我不确定这是不是正确的方法。我查看了一个github repo,其中一个人使用的是相同的文件夹结构,但他没有在应用程序.rb
中包含这一行。多亏了这一点,我认为一定有更好的方法去做。谢谢达拉姆。我不确定这是不是正确的方法。我查看了一个github repo,其中一个人使用的是相同的文件夹结构,但他没有在应用程序.rb
中包含这一行。多亏了这一点,我想一定有更好的办法。