我应该在哪里配置rails gems?

时间:2012-08-27 15:40:33

标签: ruby-on-rails gem

例如,我使用mobylette gem,而documentation表示我可以像这样配置它。

 mobylette_config do |config|
    config[:fallback_chains] = { mobile: [:mobile, :html] }
    config[:skip_xhr_requests] = false
    config[:mobile_user_agents] = proc { %r{iphone}i }
 end

唯一的问题是,我不知道该代码放在哪里。我尝试创建新的文件config / initializers / mobylette.rb,但是在启动rails服务器时我没有遇到'mobylette_config'错误的方法。

那么我应该在哪里放置这些gem配置,特别是在这种情况下mobylette配置?

2 个答案:

答案 0 :(得分:4)

这将是传统的地方 - 配置/初始化器

您还可以通过在初始化程序中放入logger.debug来检查其是否已加载

logger.debug'LOADED mobylette configuration'

您可以通过将配置放在environment.rb文件中来快速测试是否存在其他问题(这不是我留下的地方)

这两个应该给你一些更多信息来调试

答案 1 :(得分:3)

这让我也把头发拉了出来。但是在github的源代码中挖掘:

https://github.com/tscolari/mobylette/blob/master/lib/mobylette/respond_to_mobile_requests.rb

我在评论中发现了这一点:

  # Example Usage:
  #
  #   class ApplicationController...
  #     include Mobylette::RespondToMobileRequests
  #     ...
  #     mobylette_config do |config|
  #       config[:fall_back] = :html
  #       config[:skip_xhr_requests] = false
  #       config[:mobile_user_agents] = proc { %r{iphone|android}i }
  #       config[:devices] = {cool_phone: %r{cool\s+phone} }
  #     end
  #     ...
  #   end