如何替换导轨的link_to_function 4.1
How to replace link_to_function for rails 4.1
我正在创建我的第一个真正的Rails应用程序,我正在学习。我有一种情况,我需要在一个表单上创建嵌套属性,因此我一直在研究与此相关的railscast事件(196和197)。在第二集中,他使用了link_to_function方法,这在rails 4.1中显然不再可用。
我想知道如何替换它。我一直在尝试链接_to,并为其他发布类似问题的人尝试了许多建议的解决方案,但都无济于事。
以下是我目前的部分观点(不过,我已经尝试了很多东西…)
<p class="offset1 fields">
<%= f.hidden_field :_destroy %>
<%= link_to "remove", '#', onclick: 'remove_fields("this")' %>
</p>
这是我的.js.coffee文件,其中包含remove_fields()函数:
remove_fields = (link) ->
$(link).previous("input[type=hidden]").value = 1
$(link).up(".fields").hide
这个函数应该从表单中删除一个字段,但它只是在不调用函数的情况下将"#"附加到url中。
从视图链接到资产中javascript(coffeescript)函数的最佳方式是什么?
处理此问题的一个好方法是:
a) 将href属性设置为"javascript:void(0);"b) 为链接设置DOM id或CSS类属性
<%= link_to "remove", "javascript:void(0);", id="remove_link" %>
c) 将js点击监听器添加到元素中(请检查这是否是正确的coffeescript语法)
$ ->
$('#remove_link').click = ()->
$(link).previous("input[type=hidden]").value = 1
$(link).up(".fields").hide
d) 始终避免在html元素上使用onclick:。
更新:
e) 以下是一个可能适用于您的代码的替代方案(在您发表评论后):
$ ->
$('#remove_link').click = ()->
$('.offset1.fields input').attr('value', 1);
$('.offset1.fields').hide();
相关文章:
- 节点Js:How to catch a“;没有这样的文件或目录“;读取线模块出错
- 引导程序:在导航栏中,显示悬停在单个位置的基于Li Link的不同内容
- jQuery AJAX write to XML
- grep in JQuery to C#
- how to convert html <div> to pdf
- Node.js - POST to iFrame?
- SVG xml to image
- LINK rel=子资源用于什么
- Skype link to echo123
- Ember js link-to dynamic query param
- 当我在 Emberjs 中使用 {{link-to}} 中的 id 刷新 url 时,子出口变为空
- Input text to a link within an <iframe>
- 在jquery中,react中的Add to link to URL不起作用
- Google Maps V3 API link to infowindow
- {{link-to}} helper传递的对象的呈现视图问题
- 如何在ember.js中动态添加{{link-to}}帮助器到模板?(功能类似于angular中的$compile)
- 余烬组件集成测试:' link-to '为空
- Window.print() to Link-OS Zebra Printer?
- 我的一个“{{link to}}”助手正在触发页面重新加载.我如何才能弄清楚是什么导致该页面完全重新加载
- 如何使用link-to从ember js传递和接收参数