ruby-on-rails – Rails 3.1:具有命名路由的资产管道

Rails 3.1.0.rc5

在启用ERB的Javascript文件中,使命名路由工作无法正常工作:

# app/assets/javascripts/items.js.erb
$('#start').click(function() {
  $.ajax({
    url : '<%= ajax_items_path %>',success : function(result) {
      $('#result').html(result);
    }
  });
});

错误信息如下:

Error compiling asset items.js:
NameError: undefined local variable or method `ajax_items_path' for #<#<Class:0x007fbcb49a7630>:0x007fbcb4ee30b8>
  (in myproject/app/assets/javascripts/items.js.erb)

如果我在视图中直接使用它,那么ajax_items_path路由工作正常.

资产管道中的命名路径看起来不可用.如果是这种情况,有什么解决办法?我真的想避免我的Javascript中的硬编码URL.

@H_502_14@

解决方法

解决方法是使用您的路由帮助者从Rails.application.routes.url_helpers,例如
<%= Rails.application.routes.url_helpers.ajax_items_path %>
@H_502_14@ @H_502_14@

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...