2013-07-24 43 views
0

在一個來自教程的非常簡單的導軌項目中,我運行了rails generate scaffold Event title:string date:date description:text。一切正常,只是當我打開EventsController.rb我看到這個節目的方法是空的:導軌模型腳手架不能正常工作

def show 
end 

在我看,此方法不應該是空的,應該包含類的東西課程的視頻@event = Event.find(params[:id])。可能是什麼問題?

+1

你看,如果它在'before_filter'的某個地方? –

+1

你在使用Rails 4嗎? (你可以在Gemfile中檢查) –

+0

是的,它在before_filter中,是的,我使用的是Rails 4. Marek,請把它作爲答案。謝謝! –

回答

0

在Rails 4中,樣式被更改爲基於id獲取特定資源。所以它被移到了before_folter部分。

您控制器可以像,

before_action :set_event, only: [:show, :edit, :update, :destroy] 

def set_event 
    @event = Event.find(params[:id]) 
end 

請參閱控制器私有方法。

+0

感謝您的快速回復。事實確實如此。還有一件小事:這涵蓋了@user = Event.find(params [:id])'部分,但仍然存在'respond_to do | format |',這在show方法或任何私有方法中都不存在。根據這種情況下的格式,它是如何響應的? –

+1

它並不需要。它會根據您的迴應自動回覆。 –

+1

是的,你完全正確。你還看到了show.json.jbuilder文件嗎?在views/users /目錄下。這也是使用rails 4添加(gem jbilder)的新默認功能。因此,當您訪問/users.json時,將呈現此文件。 – Mohanraj