我有这段代码。
<div class="tweet" id="tweet-<%= tweet.id %>">
<%= image_tag @user.avatar.url(:thumb) %>
<div class="tweet-content">
<strong><%= @user.first_name + " " + @user.last_name %></strong>
<span class="date">- <%= tweet.created_at.strftime("%e %B %Y") %></span>
<p><%= tweet.content %></p>
<div class="tweet-action">
<% @replies_count = tweet.replies_count %>
<a href="#" class="show-reply"></a>
<% @like_class = "glyphicon glyphicon-star like-tweet"+tweet.liked(current_user.id) %>
<% @like_id = "tweet-like-"+tweet.id.to_s %>
<%= link_to "", liked_tweets_path(tweet_id: tweet.id), method: :post, remote: true, class: @like_class, id: @like_id %>
<% if tweet.liked_tweets.count > 1 %>
<span><%= tweet.liked_tweets.count %></span>
<% end %>
<!-- <a href="#" class="like-tweet glyphicon glyphicon-star"></a> -->
<a href="#">Retweet</a>
</div>
<%= render 'tweets/form', parent: tweet %>
</div>
<div class="replies">
<!-- Here goes ajax resposnse tweets#show_resplies -->
</div>
</div>
当我点击“.tweet”时,我希望实现这一点,我想要执行此操作tweets_show_replies_path(parent: tweet, active: false )
。当我试图将整个事物包裹在link_to .... do ... end
中时,它失败并且链接没有包装“.tweet”元素。
您能否告诉我如何实现上述效果?
答案 0 :(得分:0)
使用一些javascript和ajax请求!
$(document).ready(function() {
$( ".tweet" ).click(function() {
$.ajax({
type: "POST",
format: "js",
url: <url for tweets_show_replies_path>,
data: {
parent: <%= tweet %>,
active: false
},
dataType: "script"
});
});
});
然后在您的控制器中,执行您需要的任何操作并渲染部分内容。