Javascript 为什么在我的js.erb文件中没有指向工作的链接
我的js.erb文件中有这个Javascript 为什么在我的js.erb文件中没有指向工作的链接,javascript,ruby-on-rails,ruby,ruby-on-rails-3,erb,Javascript,Ruby On Rails,Ruby,Ruby On Rails 3,Erb,我的js.erb文件中有这个 var cart_item = "<table id='something' style='width:100%'>"; cart_item += "<tr><td>"; cart_item += "<%= @contact.name %>"; cart_item += "<%= link_to_remote 'Delete', :url => {:controller => 'registrati
var cart_item = "<table id='something' style='width:100%'>";
cart_item += "<tr><td>";
cart_item += "<%= @contact.name %>";
cart_item += "<%= link_to_remote 'Delete', :url => {:controller => 'registrations', :action => 'destroy' %>";
cart_item += "</td>";
cart_item += "</tr></table>";
$("#cart").append(cart_item);
var cart_item=”“;
购物车项目+=“”;
购物车项目+=“”;
购物车项目+=“{:控制器=>'注册',:操作=>'销毁'%>”;
购物车项目+=“”;
购物车项目+=“”;
$(“#购物车”)。追加(购物车项目);
它只是挂起,但当我评论链接到功能时,一切都很好。我甚至尝试将它作为链接到,但它仍然挂起,什么也没做……我是否遗漏了四件事
第一:不需要:url
选项。只需将散列作为第二个参数传递给link\u to\u remote
,它就可以工作了
第二:您应该使用URL帮助程序来完成此操作。此外,如果您使用的是destroy
操作,您可能需要传递一个id。这意味着您将执行类似以下操作:
link_to_remote 'Delete', registration_path(id)
您将为此执行类似于resources:registrations
的操作。不过,我不确定您的应用程序中包含哪些注册,因此我可以就此提供建议
第三:最重要的是,link\u to\u remote
行上的散列缺少了结尾的花括号。如果忽略它,将导致语法错误
四:link\u to\u remote
在Rails 3.0中被弃用。您应该使用link\u来“删除”,注册路径(id),:remote=>true
四件事
第一:不需要:url
选项。只需将散列作为第二个参数传递给link\u to\u remote
,它就可以工作了
第二:您应该使用URL帮助程序来完成此操作。此外,如果您使用的是destroy
操作,您可能需要传递一个id。这意味着您将执行类似以下操作:
link_to_remote 'Delete', registration_path(id)
您将为此执行类似于resources:registrations
的操作。不过,我不确定您的应用程序中包含哪些注册,因此我可以就此提供建议
第三:最重要的是,link\u to\u remote
行上的散列缺少了结尾的花括号。如果忽略它,将导致语法错误
四:
link\u-to\u-remote
在Rails 3.0中被弃用。您应该使用link\u-to'Delete',registration\u-path(id),:remote=>true
将所有内容提取到一个部分,称之为\u-cart\u-item.html.erb
:
<table id='something' style='width:100%'>
<tr><td>
<%= @contact.name %>
<%= link_to 'Delete', {:controller => 'registrations', :action => 'destroy', :id => @contact.id}, :remote => true %>
</td>
</tr></table>
但Ryan Bigg仍然是对的,你应该:
- 使用RESTful路由和路由帮助程序
- 对AJAX请求使用
,正如我所做的那样:remote=>true
- 确保将
传递给id
操作,以便它知道要销毁哪个对象destroy
- 将所有这些提取到一个部分,称之为
\u cart\u item.html.erb
:
<table id='something' style='width:100%'>
<tr><td>
<%= @contact.name %>
<%= link_to 'Delete', {:controller => 'registrations', :action => 'destroy', :id => @contact.id}, :remote => true %>
</td>
</tr></table>
但Ryan Bigg仍然是对的,你应该:
- 使用RESTful路由和路由帮助程序
- 对AJAX请求使用
,正如我所做的那样:remote=>true
- 确保将
传递给id
操作,以便它知道要销毁哪个对象destroy