Rails 4.2.0喜欢按钮

时间:2015-10-14 20:48:32

标签: ruby-on-rails ruby-on-rails-4 sql-like

我试图在我的网站上实现喜欢帖子的可能性,但我没有这样做。点击“喜欢”后,喜欢的数量不会增长。

这是我在视图中的按钮(部分)。

    <%= link_to "Like", like_post_path(post, like: true), method: 'post' %>
    <%= pluralize( post.likes.size, "like") %>

我的模特:

 class Post < ActiveRecord::Base
   belongs_to :user
   has_many :likes, as: :likeable
  ...
 end

用户:

has_many :posts, dependent: :destroy

像:

class Like < ActiveRecord::Base
    belongs_to :user
    belongs_to :likeable, polymorphic: true
end

与帖子控制器中的操作类似:

def like
    Like.create(user: current_user, like: params[:like])
    flash[:success] = "Like Counted!"
    redirect_to :back
end

路线:

resources :posts do
    member do
        post 'like'
    end
end

我的迁移: class CreateLikes&lt; ActiveRecord :: Migration

  def change
    create_table :likes do |t|
            t.boolean :like, :default => false
      t.references :likeable, polymorphic: true
      t.integer :user_id

      t.timestamps null: false
    end
  end
end

我使用了多态,因为我打算添加Like注释的功能。

1 个答案:

答案 0 :(得分:0)

我在添加此帖后不久就找到了问题的答案,但决定不删除它,以便有人可以获得帮助。我只是添加:post = Post.find(params [:id])Like.create(likeable:post,user:current_user,like:params [:like])