如果我正在做一些ajax的东西,我可以通过抓住它的'action'属性来获得'正常'形式的位置:
'Sign Up': ->
post_url = $('#form').attr 'action' #=> users/sign_up (for example)
但是,如果我在路线文件中有这个:
post 'users/sign_up', to: 'users#create', as: :user_create
我想知道为什么我不能这样做:
'Sign Up': ->
post_url = <%= user_create_path %>
虽然支持erb标记,但在使用命名路由时出现此错误:
undefined local variable or method 'user_create_path'
只是想知道为什么会发生这种情况...... 我的意思是使用指定的路线助手可能非常出色。虽然从表单中抓取它可能不那么容易混淆。仍然认为rails / coffeescript gem应该实现这个功能。
答案 0 :(得分:2)
指定的路径助手可能未包含在控制器/视图之外。
您可以在Rails.application.routes.url_helpers.user_create_path
。
您也可以使用像js-routes这样的宝石为您完成这项工作。