0

在我的模型中,我有一个返回变量的方法。

def do_something(param1, param2)
  #code
  return variable
end

我成功地从显示页面中呈现的部分调用此方法。像这样:

<%= @user.do_something(param1, param2) %>

我想从我的索引页面中呈现的部分调用相同的方法。但我遇到了错误。编辑:类错误的未定义方法。

我可以将所有方法代码复制并粘贴到一个重复的方法中,例如:

def self.do_something(param1, param2)
  #code
  return variable
end

并像这样从索引页面部分调用它......

<%= User.do_something(param1, param2) %>

...但这不是 DRY,我知道那里可能有更合适的解决方案。我仍在学习 Rails 力学,所以我感谢你的帮助。

4

1 回答 1

1

至少您可以使用委托:

class User < ActiveRecord::Base
  def do_something param1, param2
    self.class.do_something param1, param2
  end

  def self.do_something param1, param2
    ...
    return variable
  end
end
于 2012-08-25T21:03:16.937 回答