gpt4 book ai didi

ruby-on-rails - 如何使用 'acts_as_' 为 ActiveRecord 编写自定义方法?

转载 作者:数据小太阳 更新时间:2023-10-29 08:01:52 25 4
gpt4 key购买 nike

我正在使用 Ruby on Rails 3,我正在尝试为 ActiveRecord 使用一些自定义方法,以便我可以这样做

Account.<my_method_name>

例如,为了向帐户对象添加一些数据(但不更改帐户数据本身)。

我听说过acts_as_<something>声明,如果我没记错的话,它用于构建插件,但我不明白它是否是我需要的。添加后acts_as_<something>也许我必须在某个地方写一个像下面这样的方法,以便在当前的 ActiveRecord 上“行动”, <my_method_name>被称为:

def self.<my_method_name>
...
end

谁能解释一下如何使用它?而且,如果可能的话,你能给我一个它的用法的真实例子吗?


顺便说一句:在 RAILS_ROOT/app/lib 中构建插件还是编写库更好?文件夹?

最佳答案

你可以在这里看看如何实现=> http://thoughtsincomputation.com/posts/coding-an-acts_as-gem-for-rails-3

真实例子-> https://github.com/mbleigh/acts-as-taggable-on

acts_as* 只是向类添加行为的一种方式。您可以通过拥有一个模块 ActsAs* 并将该模块包含在类中来执行相同的操作。仅当您想在添加此常见行为时使用参数时才使用 acts_as*,否则只需创建一个模块并将其包含在类中

在 gem acts_as_taggable_on 中它是有意义的,因为它在添加行为时接受参数。

acts_as_taggable_on :languages,:skills

你的问题类似于rails3 gem: acts_as_something

关于ruby-on-rails - 如何使用 'acts_as_<something>' 为 ActiveRecord 编写自定义方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5290581/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com