第一層是路由,第二層是控制器,所以在View中,有沒有辦法在到達視圖之前將路徑和控制器的路徑或文件名以及行號轉儲出來?在Ruby on Rails中,當在視圖中時,您可以在到達View之前轉儲文件和行號嗎?
我想這樣做,因爲www.example.com/stories/12345
是顯示一個頁面,但stories_controller.rb沒有一個def index
或def show
更新:我想這可能是因爲如果程序有錯誤,在這種情況下它會顯示應用程序跟蹤和軌道跟蹤。
第一層是路由,第二層是控制器,所以在View中,有沒有辦法在到達視圖之前將路徑和控制器的路徑或文件名以及行號轉儲出來?在Ruby on Rails中,當在視圖中時,您可以在到達View之前轉儲文件和行號嗎?
我想這樣做,因爲www.example.com/stories/12345
是顯示一個頁面,但stories_controller.rb沒有一個def index
或def show
更新:我想這可能是因爲如果程序有錯誤,在這種情況下它會顯示應用程序跟蹤和軌道跟蹤。
實際上,除了使用index
或show
之外,沒有別的選擇,它必須在類StoriesController中定義。但這並不意味着這些方法是在文件「stories_controller.rb」中定義的。
有幾個選項:
active_scaffold
(指數顯示,...)要查看的方法定義,你可以鍵入您script/console
會話內
StoriesController.new.method('index')
,它會返回一組類/模塊,解釋here。
例如,在我們的ApplicationController中,我們包括定義方法login_required
一個模塊,看起來像這樣:
>> ApplicationController.new.method(:login_required)
=> #<Method: ApplicationController(PilgrimBase::Base::Authenticated)#login_required>
希望這有助於。
我知道這並沒有真正回答你的問題,但是... 你可以通過做
rake routes
你在你的應用程序/視圖/故事已經show.html.erb看到你的路由/?
StoriesController.method( '索引')的錯誤了......這一項顯示的東西,但並沒有說在哪裏: >> StoriesController.instance_method( '索引') =># –
2010-06-24 09:35:57
我很抱歉,您必須編寫'StoriesController.new.method('index')'。我相應地更正了我的答案;) – nathanvda 2010-06-24 20:42:47