Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何定义自定义类并在helper中使用它_Ruby On Rails_Ruby - Fatal编程技术网

Ruby on rails 如何定义自定义类并在helper中使用它

Ruby on rails 如何定义自定义类并在helper中使用它,ruby-on-rails,ruby,Ruby On Rails,Ruby,我想定义一个类,让许多助手使用它 我可以包括MvaasPortalmoude 然后我可以新建对象,但不能使用对象的任何方法 真奇怪 如果我不能使用对象中的方法,为什么我可以新建对象。 鲁比真奇怪 @portal = Portal.new @portal对象中没有方法 mvaas_portal.rb 如果您使用的是rails,那么可以使用ActiveSupport::Concern: 如果没有,请查看链接上的第一个示例 此外,您的名称空间有点奇怪,并且遗漏了一些上下文。下面是一个使用虚拟方法的

我想定义一个类,让许多助手使用它

我可以包括
MvaasPortal
moude

然后我可以新建对象,但不能使用对象的任何方法

真奇怪

如果我不能使用对象中的方法,为什么我可以新建对象。 鲁比真奇怪

 @portal = Portal.new
@portal
对象中没有方法

mvaas_portal.rb
如果您使用的是rails,那么可以使用
ActiveSupport::Concern
: 如果没有,请查看链接上的第一个示例

此外,您的名称空间有点奇怪,并且遗漏了一些上下文。下面是一个使用虚拟方法的示例:

require 'active_support/concern'

module MvaasPortal
  include ActiveSupport::Concern

  def an_instance_method
    puts "Here!"
  end
end

class Portal
  include MvaasPortal
end

Portal.new.an_instance_method
=> "Here!"

如果您使用的是rails,那么可以使用
ActiveSupport::Concern
: 如果没有,请查看链接上的第一个示例

此外,您的名称空间有点奇怪,并且遗漏了一些上下文。下面是一个使用虚拟方法的示例:

require 'active_support/concern'

module MvaasPortal
  include ActiveSupport::Concern

  def an_instance_method
    puts "Here!"
  end
end

class Portal
  include MvaasPortal
end

Portal.new.an_instance_method
=> "Here!"

如果您使用的是rails,那么可以使用
ActiveSupport::Concern
: 如果没有,请查看链接上的第一个示例

此外,您的名称空间有点奇怪,并且遗漏了一些上下文。下面是一个使用虚拟方法的示例:

require 'active_support/concern'

module MvaasPortal
  include ActiveSupport::Concern

  def an_instance_method
    puts "Here!"
  end
end

class Portal
  include MvaasPortal
end

Portal.new.an_instance_method
=> "Here!"

如果您使用的是rails,那么可以使用
ActiveSupport::Concern
: 如果没有,请查看链接上的第一个示例

此外,您的名称空间有点奇怪,并且遗漏了一些上下文。下面是一个使用虚拟方法的示例:

require 'active_support/concern'

module MvaasPortal
  include ActiveSupport::Concern

  def an_instance_method
    puts "Here!"
  end
end

class Portal
  include MvaasPortal
end

Portal.new.an_instance_method
=> "Here!"