Ruby 若我想在Sinatra的String类中添加一个方法,那个么我应该把它放在哪里?

Ruby 若我想在Sinatra的String类中添加一个方法,那个么我应该把它放在哪里?,ruby,sinatra,Ruby,Sinatra,我想将一个方法扩展到Sinatra中的String类,在erb文件中,执行如下操作 <%= 'some string'.my_method %> 顺便说一句,我使用的sinatra模块化编码风格似乎在我放的任何地方都能工作(这是一个好的观察结果吗?) 脚本开始时计算的任何位置 将其与所有其他字段和方法一起放入app类本身 应该也在helper类中工作我倾向于将这样的代码保存在lib/ext文件夹下的自己的文件中。然后,您可以从Sinatra应用程序中请求此文件 在lib/ext/

我想将一个方法扩展到Sinatra中的String类,在erb文件中,执行如下操作

<%= 'some string'.my_method %> 

顺便说一句,我使用的sinatra模块化编码风格似乎在我放的任何地方都能工作(这是一个好的观察结果吗?) 脚本开始时计算的任何位置

将其与所有其他字段和方法一起放入app类本身


应该也在helper类中工作

我倾向于将这样的代码保存在lib/ext文件夹下的自己的文件中。然后,您可以从Sinatra应用程序中请求此文件

在lib/ext/string.rb下:

class String
  my_mythod
    some_code
  end
end
然后将以下内容添加到Sinatra应用程序中,假设您的基类文件位于lib文件夹中:

require File.dirname(__FILE__) + '/ext/string' 

我也很想看看人们对此有何看法

在Ruby中,您可以重新打开类;这样做更简单:
类字符串;定义我的方法。。。;结束;结束
require File.dirname(__FILE__) + '/ext/string'