Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何替换rails 4.1的link_to_功能 我正在创建我的第一个真正的Rails应用程序,我正在学习。我有一个需要在一个表单上创建嵌套属性的情况,因此一直在关注与此相关的railscast剧集(196和197)。在第二集中,他使用了link_to_函数方法,这在rails 4.1中显然不再可用_Javascript_Ruby On Rails_Assets_Link To Function - Fatal编程技术网

Javascript 如何替换rails 4.1的link_to_功能 我正在创建我的第一个真正的Rails应用程序,我正在学习。我有一个需要在一个表单上创建嵌套属性的情况,因此一直在关注与此相关的railscast剧集(196和197)。在第二集中,他使用了link_to_函数方法,这在rails 4.1中显然不再可用

Javascript 如何替换rails 4.1的link_to_功能 我正在创建我的第一个真正的Rails应用程序,我正在学习。我有一个需要在一个表单上创建嵌套属性的情况,因此一直在关注与此相关的railscast剧集(196和197)。在第二集中,他使用了link_to_函数方法,这在rails 4.1中显然不再可用,javascript,ruby-on-rails,assets,link-to-function,Javascript,Ruby On Rails,Assets,Link To Function,我想知道如何更换它。我一直在尝试将_链接到,并尝试了许多为其他发布类似问题的人提供的建议解决方案,但没有效果 下面是我的观点目前的样子(尽管我尝试了很多东西…) 该函数应该从表单中删除一个字段,但只是将“#”附加到url,而不调用该函数 从视图链接到资产中的javascript(coffeescript)函数的最佳方法是什么?处理此问题的一个好方法是: a) 将href属性设置为“javascript:void(0);” b) 为链接设置DOM id或CSS类属性 <%= link_to

我想知道如何更换它。我一直在尝试将_链接到,并尝试了许多为其他发布类似问题的人提供的建议解决方案,但没有效果

下面是我的观点目前的样子(尽管我尝试了很多东西…)

该函数应该从表单中删除一个字段,但只是将“#”附加到url,而不调用该函数


从视图链接到资产中的javascript(coffeescript)函数的最佳方法是什么?

处理此问题的一个好方法是:

a) 将href属性设置为“javascript:void(0);” b) 为链接设置DOM id或CSS类属性

<%= link_to "remove", "javascript:void(0);", id="remove_link" %>
d) 始终避免在html元素上使用onclick:

更新:

e) 下面是一个可能适用于您的代码的替代方案(在您的评论之后):


看到了吗,这仍然不起作用。我已将coffeescript文件更改为仅执行一条警报语句来测试它,但它从未执行过。单击该链接不起任何作用,只是浏览器左下角指示它正在执行“javascript:void(0);”导航到/assets/application.js显示该函数已正确编译为javascript并包含在内,但无论出于何种原因都不会调用它。文档中的新javascript函数准备好了吗?我稍微更新了我的答案来演示它。好吧,这解决了我原来的问题-它现在正在执行javascript-谢谢!不幸的是,它仍然没有删除正确的字段(但是我为测试添加的警报消息确实有效——尽管只在第一个链接上)。我可能只需要更加熟悉JQuery…这让我有所了解,但我现在真正的问题是,包含链接的部分呈现了5次,有5个文本字段和5个“删除”链接-每个字段下一个。您的代码可以正常工作,但消除了所有5个文本字段,而不仅仅是一个。我尝试使用$('.fields:first').hide(),但是在它隐藏第一个字段之后,其他链接都不能隐藏,因为它们不是第一个。
remove_fields = (link) -> 
    $(link).previous("input[type=hidden]").value = 1
    $(link).up(".fields").hide
<%= link_to "remove", "javascript:void(0);", id="remove_link" %>
$ ->
  $('#remove_link').click = ()-> 
    $(link).previous("input[type=hidden]").value = 1
    $(link).up(".fields").hide
$ ->
  $('#remove_link').click = ()-> 
    $('.offset1.fields input').attr('value', 1);
    $('.offset1.fields').hide();