Gui*_*dre 6 ruby-on-rails ruby-on-rails-3
我今天想在Rails中创建一个基本的"destroy"链接,所以我写了这个:
<%= link_to "destroy me", @company, :method=>:delete
%>
Run Code Online (Sandbox Code Playgroud)
生成的代码是:
<a href="/companies/1"
data-method="delete"
rel="nofollow">destroy me</a>
Run Code Online (Sandbox Code Playgroud)
在我的路线,通常
resources :companies
Run Code Online (Sandbox Code Playgroud)
我的摧毁行动在我的控制器里.
但无论何时我点击链接,我都会被重定向到该show动作.奇怪的.
事实证明我的布局中没有包含以下行:
<%= javascript_include_tag :defaults %>
Run Code Online (Sandbox Code Playgroud)
包含它后,销毁链接有效!
为什么?为什么我需要包含默认的javascript标记才能使其正常工作?
由于我不想使用原型,我如何只包含我需要的文件?
从3.0开始,Rails表单助手生成带有HTML5数据属性的干净HTML标签(在您的示例中为数据方法).为了支持这些数据属性,原型需要rails.js.如果你使用jQuery,则需要jQuery版本(https://github.com/rails/jquery-ujs).
简单地说,rails.js与javascript框架(prototype或jquery)一起做了一些魔术来挂钩标签上的点击和其他事件,其他明智的当你点击一个链接,正常点击发生因为没有javascript,链接是正常的链接.
| 归档时间: |
|
| 查看次数: |
350 次 |
| 最近记录: |