gpt4 book ai didi

jquery - 用于用户帖子的 Rails ajax fav 按钮

转载 作者:数据小太阳 更新时间:2023-10-29 06:58:17 24 4
gpt4 key购买 nike

我查询了用户帖子(显然是嵌套资源),并且有一长串来自不同用户的帖子。我希望用户能够通过 ajax 单击每个帖子旁边的小星星来收藏该特定帖子。关于如何实现这一目标的任何建议?我遇到的问题是一个页面上有多个收藏按钮,收藏了多个帖子。

这有点像 Gmail 在收件箱中处理最喜欢的电子邮件。实际上,正是这样。

最佳答案

首先您需要设置数据库来处理这个问题,我个人会选择 has_many :through 关联,因为它比 has_and_belongs_to_many 提供更多的灵 active 。但是,选择取决于您。我建议您查看 API 中的不同类型并自行决定。这个例子将处理 has_many :through。

模型

# user.rb (model)
has_many :favorites
has_many :posts, :through => :favorites

# post.rb (model)
has_many :favorites
has_many :users, :through => :favorites

# favorite.rb (model)
belongs_to :user
belongs_to :post

Controller

# favorites_controller.rb
def create
current_user.favorites.create(:post_id => params[:post_id])
render :layout => false
end

路线

match "favorites/:post_id" => "favorites#create", :as => :favorite

jQuery

$(".favorite").click(function() {
var post_id = $(this).attr('id');
$.ajax({
type: "POST",
url: 'favorites/' + post_id,
success: function() {
// change image or something
}
})
})

注意事项

这假设了一些事情:使用 Rails 3,使用 jQuery,每个最喜欢的图标都有一个 html id 和 post id。请记住,我没有测试代码,而是在这个窗口中编写代码,因此您可能需要修复一些小问题,但它应该让您了解 通常是如何执行此操作的。视觉效果等我会留给你。

如果有人发现任何错误,请随时编辑这篇文章。

关于jquery - 用于用户帖子的 Rails ajax fav 按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6899037/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com