Javascript easymarkletrailsgem:未定义的方法“[]';零级:零级

Javascript easymarkletrailsgem:未定义的方法“[]';零级:零级,javascript,ruby-on-rails,bookmarklet,Javascript,Ruby On Rails,Bookmarklet,我正在尝试向我的rails应用程序添加裸体marklet。我遵循了网站上的说明,并遵循了裸体marklet的示例。下面是我的marklet的js(直接从示例中提取): 那是从我的JS的第二行或第三行传来的,对吗?我该如何解决这个问题?我的javascript技能不是很好,因此非常感谢您的帮助。提前谢谢 听起来像是Rails.application.config.action\u controller.default\u url\u选项可能是nil。您可以通过检查控制台来确认这一点吗?如果是这样,

我正在尝试向我的rails应用程序添加裸体marklet。我遵循了网站上的说明,并遵循了裸体marklet的示例。下面是我的marklet的js(直接从示例中提取):


那是从我的JS的第二行或第三行传来的,对吗?我该如何解决这个问题?我的javascript技能不是很好,因此非常感谢您的帮助。提前谢谢

听起来像是
Rails.application.config.action\u controller.default\u url\u选项
可能是
nil
。您可以通过检查控制台来确认这一点吗?如果是这样,您只需要在环境文件中设置它。开发中的标准默认值是:

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

事实上,它确实返回了零。我是否也需要为生产环境设置这些参数?那是什么样子?我还认为
action\u mailer
应该是
action\u controller
是吗?@settheline你当然是对的。我将答案更新为使用
action\u controller
而不是
action\u mailer
。我不确定生产环境。。。您可能也需要设置这些端口,但我不确定端口是什么。我在这方面的经验仅限于邮递员,prod从未需要过。
<%= 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)
MyApp::Application.configure do
  # development.rb
  config.action_controller.default_url_options = { host: 'localhost', port: 3000 }
end