簡體   English   中英

EasyMarklet Rails gem:nil:NilClass的未定義方法“ []”

[英]EasyMarklet Rails gem: undefined method `[]' for nil:NilClass

我正在嘗試在我的Rails應用程序中添加裸露的Marklet。 我按照存儲庫中的說明進行操作,並遵循此處的裸露骨頭標記示例。 這是我的標記的js(直接從示例中提取):

(function(){

  var protocol = 'http://'
  var host = '<%= Rails.application.config.action_controller.default_url_options[:host] %>';
  var port = '<%= Rails.application.config.action_controller.default_url_options[:port] %>';
  port = port === '' ? '' : ':' + port;
  var full_host = protocol + host + port;
  document.location = full_host + "/pages/new?url=" + encodeURIComponent(document.location)

})();

我在視圖中的鏈接:

<%= link_to 'Bookmarklet', easymarklet_js('my_sample_bookmarklet.js.erb') %>

我現在收到此錯誤:

undefined method `[]' for nil:NilClass
  (in /Users/myname/Rails/sample/app/assets/javascripts/my_sample_bookmarklet.js.erb)

是來自我的JS的第二行還是第三行,對嗎? 我該如何解決? 我的JavaScript技能不是很好,因此我們將不勝感激。 提前致謝!

聽起來Rails.application.config.action_controller.default_url_options可能為nil 您可以通過在控制台上進行確認嗎? 如果是這樣,您只需要在環境文件中進行設置即可。 開發中的標准默認值為:

MyApp::Application.configure do
  # development.rb
  config.action_controller.default_url_options = { host: 'localhost', port: 3000 }
end

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM