ruby-on-rails - 如何在 Ruby 的课堂上创建一个方法?我想在范围内使用
问题描述
很遗憾,我无法弄清楚如何解决这个问题并寻求帮助,但我需要你的帮助。我正在做一个项目,但我不知道如何在 Ruby 的课堂上创建一个方法。
通过使用下面的方法,我可以做我想做的事。
string = 1234
NKF.nkf('-X -w', string).tr('0-9a-zA-Z', '0-9a-zA-Z') # => '1234'
现在我想做这个类方法,这样我就可以在不同的地方重复使用它们。(因为它看起来有点长)
为了解决这个问题,我尝试制作一个名为 modify_string 的方法,如下所示。(代码有点改变)
(author.class)
def modify_string(ids)
ids.tr('0-9a-zA-Z', '0-9a-zA-Z').gsub('、',',').split(',')
end
scope :search_user, lambda {| user_id|
results = self.where(id: user_id.modify_string(ids))}
但它调用了一个错误,说“66”的未定义方法`modify_string':String
66是从html.erb上的输入发送的,当我编写下面的代码时,它完美地工作。
scope :search_user, lambda {| user_id|
results = self.where(id: user_id.tr('0-9a-zA-Z', '0-9a-zA-Z').gsub('、',',').split(',')
)}
我想以某种方式为此制定一个好方法。
你能帮帮我吗?谢谢你。
解决方案
推荐阅读
- c# - WPF - 对象的列表到 DataGrid 中自己的组合框列
- android - 神秘错误:导航到另一个 React Native 视图并返回后,React Native 视图损坏(但没有崩溃)
- dspace - 如何使用 Mirage2 作为主题在侧边栏计数中应用徽章
- javascript - 无法从组件反应中调用函数
- c++ - OpenCL get_global_id 结果错误
- intellij-idea - Intellij 中的远程调试未连接到 wildfy 应用程序服务器(不是本地运行的 tomcat)
- python - 澄清 tf.Session() 作用域 TensorFlow
- javascript - 编写一个函数来打印总和,它接受这个 wa 中的参数: sum(2)(3) 并输出 5
- c# - 通过 UWP 应用中的框架返回导航
- sql-server - Docker 容器错误:TDSSNIClient 初始化失败,错误为 0xffffffff,状态码 0x80。原因:无法初始化 SSL 支持