gjb*_*gjb 12 ruby-on-rails ruby-on-rails-3 asset-pipeline
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);
}
});
});
Run Code Online (Sandbox Code Playgroud)
错误消息如下:
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)
Run Code Online (Sandbox Code Playgroud)
ajax_items_path如果我直接在视图中使用它,该路径工作正常.
看起来资产管道中没有命名路由.如果是这种情况,那么解决方法是什么?我真的想避免在我的Javascript中硬编码URL.
tri*_*anm 25
解决方法是使用您的路线助手Rails.application.routes.url_helpers,例如
<%= Rails.application.routes.url_helpers.ajax_items_path %>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2115 次 |
| 最近记录: |