2011-01-20 36 views
1

我有可以打印出一些調試信息調試方法,該調試方法在application_helper.rb定義要禁用該方法中,使得沒有調試信息被打印該文件,我在加入在Ruby on Rails中,視圖中定義的方法無法覆蓋輔助方法?

def debugp; return nil; end 

查看文件使用原始debugp ...但似乎這個新定義不能覆蓋debugp的原始定義(因爲調試信息仍然打印出來)。有沒有辦法覆蓋它?還有其他方法來禁用打印,但我想找出有關在應用程序助手中重寫方法的部分。謝謝。

回答

1

你不能重寫視圖文件中的方法,但是你可以在相應的幫助器中覆蓋它 - 如果你使用Rails生成器來生成你的控制器,那麼它也會生成一個幫助器,例如,一個「人」 的控制會有這些文件:

  • 應用程序/控制器/ people_controller.rb
  • 應用程序/視圖/人/ * html.erb
  • 應用程序/傭工/ people_helper.rb

所以要覆蓋從應用助手的輔助方法,把你的helper方法的定義不是在視圖,但在助手:

module PeopleHelper 
    def debugp; return nil; end 
end 

希望幫助,

相關問題