Ruby on rails 更新Rails中的布尔值时未定义的方法

Ruby on rails 更新Rails中的布尔值时未定义的方法,ruby-on-rails,Ruby On Rails,我试图跟随Stackoverflow上发布的答案,以便在单击图像时更新我应用程序数据库中的布尔值() 但是,当我加载包含图像的页面时,出现以下错误: 未定义的方法“toggle\u is\u contribution\u comments\u path”# 我的路线文件: resources :comments do member do put :toggle_is_contribution end end 控制器: def toggle_is_contri

我试图跟随Stackoverflow上发布的答案,以便在单击图像时更新我应用程序数据库中的布尔值()

但是,当我加载包含图像的页面时,出现以下错误:

未定义的方法“toggle\u is\u contribution\u comments\u path”#

我的路线文件:

resources :comments do
    member do
      put :toggle_is_contribution
    end
    end
控制器:

def toggle_is_contribution
    @comment = Comment.find(params[:work_id])
    @comment.toggle!(:is_contribution)

     respond_to do |format|
    flash[:success] = "Work updated"
    format.html { redirect_to root_path }
    format.js
  end
  end
视图:

编辑2:

将方法名称编辑到下面Misha的答案后,我得到一个stringify keys错误:

未定义“/comments/1/toggle\u is\u contribution”的方法“stringify\u keys”:String

编辑3:

已修复指向的链接,但现在我遇到此未定义的错误:

对于#

未定义的方法“toggle_is_contribution_comments_path”,您应该使用:

toggle_is_contribution_comment_path(comment)
只需将
\u path
粘贴到
rake routes
输出的第一列中即可

而且,你的观点是错误的。而不是:

<%= link_to image_tag("/assets/list_star.png"), comment, toggle_is_contribution_comment_path(comment), etc.
您应该使用:

toggle_is_contribution_comment_path(comment)
只需将
\u path
粘贴到
rake routes
输出的第一列中即可

而且,你的观点是错误的。而不是:

<%= link_to image_tag("/assets/list_star.png"), comment, toggle_is_contribution_comment_path(comment), etc.

谢谢你的回复。我更改了路径,但仍然得到相同的错误。我刚刚在上面发布了rake路由的相关部分(输出非常大,所以我只添加了我认为我们需要看到的部分)。对于您提供的额外帮助,我感激不尽。它发生在第48行的查看页面上,但我开始认为问题在于works控制器(评论属于作品;思考博客上的评论)。我向工作控制员更新了这个问题。您指向
链接错误。我更新了我的答案。谢谢你的回复。我更改了路径,但仍然得到相同的错误。我刚刚在上面发布了rake路由的相关部分(输出非常大,所以我只添加了我认为我们需要看到的部分)。对于您提供的额外帮助,我感激不尽。它发生在第48行的查看页面上,但我开始认为问题在于works控制器(评论属于作品;思考博客上的评论)。我向工作控制员更新了这个问题。您指向
链接错误。我更新了我的答案。谢谢你的回答!我认为这应该行得通,但现在我得到了一个stringify-keys错误:未定义的方法“/comments/1/toggle\u is\u-contribution”的“stringify-keys”:StringI将链接更改为,现在我不再得到stringify-keys错误。我正在为#@bruce Oh抱歉获取未定义的方法“toggle_是#贡献(commentation)注释(path)”。。显然,这应该是
切换\u是\u贡献\u注释\u路径
。。。我从你的问题中复制了代码。再次更新我的答案。它成功了!非常感谢你!你帮了我很大的忙。谢谢你多呆一会儿,耐心等待。今天我从你身上学到了很多,不客气。很高兴我能帮忙。我添加了一点额外的解释和一个链接到API的
link\u to
。谢谢你的回答!我认为这应该行得通,但现在我得到了一个stringify-keys错误:未定义的方法“/comments/1/toggle\u is\u-contribution”的“stringify-keys”:StringI将链接更改为,现在我不再得到stringify-keys错误。我正在为#@bruce Oh抱歉获取未定义的方法“toggle_是#贡献(commentation)注释(path)”。。显然,这应该是
切换\u是\u贡献\u注释\u路径
。。。我从你的问题中复制了代码。再次更新我的答案。它成功了!非常感谢你!你帮了我很大的忙。谢谢你多呆一会儿,耐心等待。今天我从你身上学到了很多,不客气。很高兴我能帮忙。我为
link\u to
添加了一点额外的解释和一个API链接。
<%= link_to image_tag("/assets/list_star.png"), toggle_is_contribution_comment_path(comment), etc.