0

在我的应用程序中,我有一个页面,用户可以在其中看到他们的所有评论一个列在另一个之下。每条评论都有一个“编辑”链接:

<div id ="edit_link">
    <%= link_to I18n.t('user.review.edit.edit'), edit_review_path(review), :remote => true, :class => "edit_review_link" %>
    </div>

它将可编辑的评论加载到与其他评论相同的页面上,用户可以更改它。

它在 edit.js.erb 文件中加载此代码:

$('#review_<%=@review.id%>').html("<%= escape_javascript(render 'edit') %>")

现在,我正在尝试更改此评论的高度以在加载时进行编辑。任何想法我怎么能做到这一点?

我确实在我的 edit.js.erb 文件中尝试过:

$('#review_<%=@review.id%>').html("<%= escape_javascript(render 'edit') %>")

$('#review_<%= review.id %>').animate({height:'250px'}, 350);
//this method increases the height to 250px, at .35 seconds

但我得到一个500 (Internal Server Error)错误。

我也尝试过,将其粘贴到 _review.html.erb 文件中:

<script>
$('#edit_link').click(function(){
    $('#review_<%= review.id %>').animate({height:'250px'}, 350);
    //this method increases the height to 250px, with speed of .35 seconds
});
</script>

但它只会在第一次审核时正确切换,位于列表顶部。此外,它会增加以下所有评论的大小。谢谢你的帮助。

4

1 回答 1

1

您有拼写错误,您缺少@变量前的符号;)

改变这个:

$('#review_<%= review.id %>').animate({height:'250px'}, 350);

对此:

$('#review_<%= @review.id %>').animate({height:'250px'}, 350);
               ^
               # Here, add the '@'
于 2013-07-31T16:08:42.730 回答