我试图在我的网站上实现喜欢帖子的可能性,但我没有这样做。点击“喜欢”后,喜欢的数量不会增长。
这是我在视图中的按钮(部分)。
<%= 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注释的功能。
答案 0 :(得分:0)
我在添加此帖后不久就找到了问题的答案,但决定不删除它,以便有人可以获得帮助。我只是添加:post = Post.find(params [:id])Like.create(likeable:post,user:current_user,like:params [:like])