Ruby on rails 允许用户收藏帖子
我正在努力让用户喜欢一篇文章 我创建了一个名为favorite的模型Ruby on rails 允许用户收藏帖子,ruby-on-rails,Ruby On Rails,我正在努力让用户喜欢一篇文章 我创建了一个名为favorite的模型 belongs_to :user belongs_to :post 它存储用户id和post id 我还创建了一个FavoritesController class FavoritesController < ApplicationController def create @post = Post.find(params[:post_id]) current_user.favorite(@pos
belongs_to :user
belongs_to :post
它存储用户id和post id
我还创建了一个FavoritesController
class FavoritesController < ApplicationController
def create
@post = Post.find(params[:post_id])
current_user.favorite(@post)
end
def destroy
@post = Post.find(params[:id])
current_user.unfavorite(@post)
end
end
当我尝试单击“收藏夹”时,我得到:
wrong number of arguments (0 for 1)
Parameters:
{"utf8"=>"✓",
"authenticity_token"=>"HjiANQUqTQVEqy0yzfLFMlnC8RsTiY5kVlvIUnD5OSIaSYSi4ELSuC95vRMIBA/6W+KvzCWMMXQ==",
"post_id"=>"7",
我做错了什么?还有更好的方法吗?如果你只是想让“投票/偏袒”系统正常工作,我建议使用gem之类的工具。错误在哪一行?一个问题是,在你的
收藏的方法中,你正在传递一篇文章,但随后用一个帖子id调用create。@PhilipHallstrom,所以我尝试将收藏的方法从收藏更改为收藏,现在它重新加载,但什么也没有发生。上面写着第43行,这是我的def收藏夹(post),你不能使用收藏夹,因为这已经被定义为“使用有很多收藏夹”的一部分。啊哈。你知道问题出在哪里吗?你能把你完整的错误日志贴出来吗
# Favorites a post.
def favorite(post)
favorite.create(post_id: post)
end
# Unfavorites a post.
def unfavorite(post)
favorite.find_by(post_id: post).destroy
end
wrong number of arguments (0 for 1)
Parameters:
{"utf8"=>"✓",
"authenticity_token"=>"HjiANQUqTQVEqy0yzfLFMlnC8RsTiY5kVlvIUnD5OSIaSYSi4ELSuC95vRMIBA/6W+KvzCWMMXQ==",
"post_id"=>"7",