【问题标题】:ruby on rails ajax fav button for postsruby on rails ajax 最喜欢的帖子按钮
【发布时间】:2011-07-29 15:03:48
【问题描述】:

生成帖子列表时,我希望登录用户能够单击星号来收藏该帖子。关于如何通过ajax做到这一点的任何建议?我想我会为此使用 many_to_many 关系,但只是不确定是否在 Rails 中通过 ajax 发布。

【问题讨论】:

    标签: jquery ruby-on-rails ruby ajax ruby-on-rails-3


    【解决方案1】:

    首先:您的关联可以通过连接表更加明确,例如 UserFavourites(user_id, post_id),然后执行以下操作:

    # user.rb
    has_many :user_favourites
    has_many :favourites, :through => :user_favourites, :class_name => "Post"
    

    然后在您的视图中,您可以创建一个收藏链接(星形图像),假设该链接的 ID 为 favourite。然后你可以使用 jQuery(或其他)并做:

    $("#favourite").click(function() {
        $.ajax({
            url: "/users/add_favourite",
            data: {some_data_you_may_want_to_send: the_data},
            success: function(html){
                //do something here if you want
            }
        });
    });
    

    这将需要用户中的一些控制器操作,称为 add_favourite,您可以让它返回一些 HTML 或不返回任何内容,然后将收藏夹添加给用户。

    【讨论】:

    • 返回json或某种真/假反馈不是更好吗?
    • 是的,这取决于 OP。这取决于他想要什么。我同意某种真/假反馈是理想的,以防出现问题。
    • 你们中的任何一个都可以就 T/F 反馈给我一些帮助吗?我对这些东西真的很陌生,非常感谢您的帮助!
    • 嗯,这取决于你在做什么......我只是返回 JSON 真或假,所以 {"feedback": true}
    猜你喜欢
    • 2012-09-09
    • 1970-01-01
    • 2012-09-20
    • 2014-09-21
    • 1970-01-01
    • 1970-01-01
    • 2016-04-04
    • 2020-11-04
    • 1970-01-01
    相关资源
    最近更新 更多