加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 19:49:49 所属栏目:百科 来源:网络整理
导读: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); } })
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.

解决方法

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读