我的代码存在问题,可以在此处找到:https://github.com/marcvanderpeet12/bloccitfinal
在app / views / _favorite.html.erb上我添加了以下链接:<%= link_to [post,Favorite.new],方法:: post do%>
方法:: post应该发布帖子但是如果我运行相关页面(http://localhost:3000/posts/48/)并尝试单击收藏夹按钮我仍然会收到此错误
没有路线匹配[GET]" / posts / 48 / favorites"
我认为我的路线设置正确任何想法可能会出错?
答案 0 :(得分:1)
您需要在收藏夹控制器中显示行动路线
在您的routes.rb中,您有resources :favorites, only: [:create, :destroy]
这意味着您没有显示刚刚提交的帖子的路线。你需要这样做:
`resources :favorites, only: [:create, :destroy, :show]
并在favoritesController中创建show动作,然后创建一个呈现该动作的视图。
答案 1 :(得分:0)
您的favorites_controller.rb
为空。您需要定义create
和destroy
操作。
对于创建操作,请抓住您的帖子并使用user
对象创建收藏夹。
favorite = current_user.favorites.build(post: @post)
检查并保存。
你的摧毁行动可能是:
favorite = current_user.favorites.find(params[:id])
其中:id
是favorite
对象的ID。