2015-10-14 90 views
0

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

这是我的按钮(部分)。

<%= 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 

我的迁移: 类CreateLikes <的ActiveRecord ::迁移

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 

PS:我使用多态,因为我打算加入到这样的评论,以及能力。

+0

我已经找到答案,这个职位,但决定不删除它,所以有人可以得到帮助。我简单地添加了:post = Post.find(params [:id]) Like.create(likeable:post,user:current_user,like:params [:like]) –

+0

您可以将您的评论添加为答案并“接受”那个答案,以确保你的问题没有被删除,其他人可以继续使用它:) – trh

回答

0

我发现我的问题的答案不久后,我添加此帖子,但决定不删除它,所以有人可以得到帮助。我简单地添加:post = Post.find(params [:id])Like.create(likeable:post,user:current_user,like:params [:like])