(对不起我的英文)
我实现了3个动态重新加载我的活动的标签,发出GET请求以显示特定的活动列表(组/用户/新闻的活动)
但是当我点击其中一个标签时,我有一个不再运行的jquery代码, 使用rails我返回一个集合来显示活动,一个解决方案仍然是将jquery放在这个集合中,但是当我这样做时,jquery会为每个加载的活动执行,而不是我想要的。
活动:
<div class="activity-card-container" id="activity-cards">
<%= render partial: 'activities/activity', collection: @activities %>
</div>
$('.newness').on('mouseenter', function (event) {
event.preventDefault();
$(this).toggleClass('d-none');
let num = parseInt($.trim($('.body__activity_counter').html()));
$('.body__activity_counter').html(--num);
if (num == 0) {
$('.body__activity_counter').addClass('hover');
}
newnessId = $(this).data('id');
$.ajax({url: '/user_activities.json', method: 'POST', data: {user_activity: {activity_id: newnessId}}})
});
部分活动:
<div class="activity--js margin-card activity-card card card-body">
.......
<%= activity.title %>
<%= activity.content %>
.......
</div>
Tab控制器之一:
def fetch_activities
user = current_user
activities = []
user.groups.each do |group|
activities << Activity.where(group: group)
end
@all_activities = activities.flatten.sort_by(&:updated_at).reverse
respond_to do |format|
format.js
end
end
和他的路线:
get "/fetch_activities" => 'activities#fetch_activities', as: 'fetch_activities'
由于