“Tech”的未定义方法`destroy':String

时间:2012-07-08 07:36:20

标签: ruby-on-rails ruby ruby-on-rails-3 tags

当我删除帖子时,我一直收到错误消息

  

undefined方法`destroy'代表“Tech”:String

帖子的“技术”部分因我要删除的帖子的标签而异。我不确定问题是什么。我正在使用acts_as_taggable_on,如果它与它有任何关系。

这是我的帖子控制器中的destroy方法:

   def destroy
     @post = Post.find(params[:id])
     @post.destroy

     respond_to do |format|
       format.html { redirect_to(root_path) }
       format.xml  { head :ok }
       format.json { head :ok }
     end
   end

我的帖子中的删除按钮显示:

  <%= button_to 'Delete', @post, :method => :delete, :confirm => "Are you sure?" %>

标记以字符串形式保存在数据库中。

1 个答案:

答案 0 :(得分:0)

无法为您解决问题,因为您没有提供代码也没有示例。

尽管如此,该错误意味着您正在对字符串调用destroy方法,而Ruby中的字符串没有定义destroy方法。

检查你在哪里调用destroy,因为看起来你在某个函数中执行它会返回一个字符串(在你的情况下是一个标记名)。您必须在作为Tag类实例的对象上执行此操作。