Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.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 Rails:使用config中的helper方法_Ruby On Rails_Ruby On Rails 3 - Fatal编程技术网

Ruby on rails Rails:使用config中的helper方法

Ruby on rails Rails:使用config中的helper方法,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,如何使用配置文件中的helper方法 这可能是非正统的,但在我需要它的情况下,它是有意义的。我需要的助手方法用于在我的一个视图中正确格式化URL。配置文件是sitemap_generator Gem的初始值设定项,在这里我需要helper方法来格式化一些URL 我尝试了require,它确实包含模块,但在调用模块时得到了未定义的方法。您的方法是否需要在助手中?你不能把它放在lib文件夹的类中吗 # lib/my_url_helper.rb class MyUrlHelper def self

如何使用配置文件中的helper方法

这可能是非正统的,但在我需要它的情况下,它是有意义的。我需要的助手方法用于在我的一个视图中正确格式化URL。配置文件是sitemap_generator Gem的初始值设定项,在这里我需要helper方法来格式化一些URL


我尝试了require,它确实包含模块,但在调用模块时得到了未定义的方法。

您的方法是否需要在助手中?你不能把它放在
lib
文件夹的类中吗

# lib/my_url_helper.rb
class MyUrlHelper
  def self.proper_format(...)
    ...
  end
end

# app/helpers/application_helper.rb
def proper_format(*args)
  MyUrlHelper.proper_format(*args)
end

提示/个人经验:大多数时候,你做了一些“非正统”的事情,你试图解决错误的问题。

你的方法需要在助手中吗?你不能把它放在
lib
文件夹的类中吗

# lib/my_url_helper.rb
class MyUrlHelper
  def self.proper_format(...)
    ...
  end
end

# app/helpers/application_helper.rb
def proper_format(*args)
  MyUrlHelper.proper_format(*args)
end

提示/个人经验:大多数时候,你做了一些“非正统”的事情,你试图解决错误的问题。

这就是你在SitemapGenerator配置中包含帮助者的方式:


SitemapGenerator::explorer.send:include,ApplicationHelper

这是如何在SitemapGenerator配置中包含帮助程序的:


SitemapGenerator::explorer.send:include,ApplicationHelper

工作正常!不必是助手,但因为我在视图中使用了该方法,所以它是有意义的。我不确定这个解决方案有多离经叛道,因为我确实需要助手方法来格式化我的站点地图的URL,使用方式与我的视图中使用的方式类似。工作正常!不必是助手,但因为我在视图中使用了该方法,所以它是有意义的。我不确定这个解决方案有多离经叛道,因为我确实需要助手方法来格式化我的站点地图的URL,其使用方式与我的视图中使用的方式类似。