1

例如,我使用 mobylette gem,它的文档说我可以像这样配置它。

 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 配置?

4

2 回答 2

4

那将是放置它的常规位置--config/initializers

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

logger.debug '加载的 mobylette 配置'

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

这两个都应该给你更多的信息来调试

于 2012-08-27T15:56:14.080 回答
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
于 2013-07-24T07:28:47.373 回答