我有一个带有以下代码的js.erb文件,但我似乎无法正确转义javascript中的link_to帮助方法。我认为它与Edit周围的引号有关。
$('#microposts').prepend('<div class="micropost"><h3>' + "<%= j @user.email %>" + '</h3> <h3>Posted ' + "<%= j time_ago_in_words(@micropost.created_at) %>" + ' ago</h3><p>' + "<%= j @micropost.content %>" + '</p><p>' + "<%= j link_to "Edit", edit_user_micropost_path(@micropost) %>" '</p></div>');
$('#new_micropost')[0].reset();
$('#micropost_count').html('<%= Micropost.count %>');
另外,我会如何设置动画?
答案 0 :(得分:3)
这可能不是你正在寻找的答案,但我谦虚地认为这不是正确的方法,而且正确逃避这种方法的困难只是方法太复杂的症状。 / p>
我知道你在这里做的事情实际上可能与课程相提并论(根据一些Rails开发人员的说法),但我认为这是一种效率低下,更糟糕,太复杂(因而难以维护)的问题。据推测,已经进行了一些AJAX调用并接收到这个动态生成的响应,其中包含用JavaScript实现的命令(用于执行某些操作的命令;在这种情况下,用于修改DOM的命令)。为什么不在页面最初加载时加载一个静态的JavaScript块,知道如何获取一小段DATA并正确呈现它?
然后你要做的是返回JSON而不是命令式的脚本块。您的静态JavaScript方法将通过以下方式修改DOM:
认为这样更简单,维护更容易。