[英]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.