【问题标题】:Rails: How to access self.method in another controller?Rails:如何在另一个控制器中访问 self.method?
【发布时间】:2016-01-07 14:44:39
【问题描述】:
class Foo1
  def self.foo1action(cake)
    # returns user object
  end
end

class Foo2
  def foo2action
    user = # here i want call foo1action
  end
end

如何在 foo2action 中调用 foo1action? 这是基于rails框架的。我知道继承是一种方法……我想知道其他方法……

【问题讨论】:

  • 你写的甚至不是一个有效的 Ruby
  • 如果是因为语法...请忽略
  • foo1.foo1action(whatever) 但是调用另一个控制器方法是高度可疑的;如果他们有共同的行为,你要么想要一个基本控制器、一个模块/mixin/关注点、一个服务方法等。
  • 只是指出self.foo1action(cake) 是一个类方法,而def foo2action 是一个实例方法。

标签: ruby-on-rails ruby controller action


【解决方案1】:
class Foo1
  def self.foo_1_action(cake)
  end
end

class Foo2
  def foo_2_action
    user = ::Foo1.foo_1_action(some_cake)
  end
end

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-23
    • 1970-01-01
    • 2016-05-30
    • 2015-10-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多