链接不会转换为发布请求

时间:2015-01-14 14:02:06

标签: ruby-on-rails ruby

我的代码存在问题,可以在此处找到: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"

我认为我的路线设置正确任何想法可能会出错?

2 个答案:

答案 0 :(得分:1)

您需要在收藏夹控制器中显示行动路线 在您的routes.rb中,您有resources :favorites, only: [:create, :destroy] 这意味着您没有显示刚刚提交的帖子的路线。你需要这样做:

`resources :favorites, only: [:create, :destroy, :show]

并在favoritesController中创建show动作,然后创建一个呈现该动作的视图。

答案 1 :(得分:0)

您的favorites_controller.rb为空。您需要定义createdestroy操作。

对于创建操作,请抓住您的帖子并使用user对象创建收藏夹。

favorite = current_user.favorites.build(post: @post)

检查并保存。

你的摧毁行动可能是:

favorite = current_user.favorites.find(params[:id])

其中:idfavorite对象的ID。