2011-12-28 4 views
1

私はこの単純な名前付きルートの問題に固執しています。私は持っています:ルーティングと呼ばれる単純なレール問題

#Controller: 

    def show 
    @thing = Thing.find(params[:id]) 
    end 

#Routes.rb: 

    match '/:name' => 'things#show' 

返答はCouldn't find Thing without an IDです。コントローラを次のように変更した場合:

@thing = Thing.find(params[:name]) 

次に、私はCouldn't find Thing with ID=thingを取得します。私は何が欠けていますか?

+2

実際、名前付きルートはまったく使用していません。最も一般的な名前付きルートは 'resources:things'によって生成され、' things_url'と他のpath/urlヘルパーを使用できるルートです。 –

答えて

5
@thing = Thing.find_by_name(params[:name])