Ruby对象未定义的方法

时间:2011-08-12 22:03:48

标签: ruby ruby-on-rails-3 attr-accessor

我有这个:

class ProposalsController < ApplicationController
  def forkIt 

     return "FFFFFUUUU"
  end
end

但是当我试图访问该方法时(所以我可以给我的FFFFUUUU RAGE)它告诉我这种方法是未定义的。

现在,我读到某个地方,我需要让它可以访问,所以这来了

class ProposalsController < ApplicationController
   attr_accessor :forkIt
   def forkIt 
      return "FFFFFUUUU"
   end
end

这是ruby控制台提取

ruby-1.9.2-p0 > @proposal = Proposal.find(4)
 => #<Proposal id: 4, title: "asda", description: "fdsfds", owner: 1, parent_id: nil, created_at: "2011-08-12 21:28:39", updated_at: "2011-08-12 21:28:39"> 
ruby-1.9.2-p0 > @proposal.forkIt
NoMethodError: undefined method `forkIt' for #<Proposal:0x9b11030>

但仍然没有......帮助这个Ruby noob。感谢。

1 个答案:

答案 0 :(得分:3)

您在控制器forkIt上定义了ProposalsController方法,但您在模型上调用,{{1 }}

您需要将Proposal移至模型类。

forkIt使@proposal = Proposal.find(4)成为@propsal类的实例,而不是Proposal类。