在我的评论视图页面 (show.html) 上,我有一个按钮,单击该按钮时,将在另一个名为 Repost 的表中创建一行(它有一个 reposts_controller 和一个 repost 模型)。但是,当我单击评论显示页面上的图标时,出现以下错误:
Couldn't find Comment without an ID
这是 RepostsController:
class RepostsController < ApplicationController
def create
@comment = Comment.find(params[:id])
@repost = @comment.reposts.build(params[:comment])
@repost.user = current_user
if @repost.save
#flash[:success] = "Post created!"
redirect_to root_url
else
render 'activities'
end
end
end
我知道问题是什么,但我正在努力寻找解决方案。CommentsController 很容易找到要在显示页面上显示的评论。但是,如何将该 id 从显示页面发送到 RepostsController,以便它可以创建上面显示的所需关系?这是一个奇怪的情况,因为按钮位于实际的评论页面上,但由于按钮使用不同的控制器将一行写入不同的表,所以按钮无法查看/找到评论。
谢谢!-b
添加视图:
<%= link_to image_tag('star.png', :size => "16x16", :align => "right"), {:controller => 'reposts', :action => 'create', :id => @comment} %>
该 link_to 将我发送到 localhost/reposts?id=1 并且在 Reposts 表上没有创建任何内容。