2011-08-12 94 views
0

我有這樣的:Ruby對象未定義的方法

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> 

,但仍然沒有...幫助這個紅寶石小白。謝謝。

+1

告訴我們你是怎麼稱呼它的。 – 99miles

+1

你打算怎麼打電話/訪問該方法? 'attr_accessor'就是變量而不是方法。默認情況下,Ruby中的所有方法都是公共的,除非您另外標記它們。 – coreyward

+0

另外,您不需要'返回'。最後一行將自動返回。 – 99miles

回答

3

你有你的控制器ProposalsController定義你的forkIt方法,但你調用它的模型,Proposal

您需要將forkIt移動到模型類。

@proposal = Proposal.find(4)使@propsalProposal類的實例,而不是ProposalControllers類。

+0

我已經知道了,但謝謝。 –

相關問題