2016-07-25 50 views
1

我希望能夠將我的根路由設置爲特定的索引操作。以下是我擁有的:在Sinatra中設置根路由

get '/' do 
    redirect '/pokemons' 
end 

get '/pokemons' do 
    @pokemons = Pokemon.all 
    erb :"pokemons/index" 
end 

雖然感覺不太好。我想知道在Sinatra中是否有一個符合`root'的軌道等同於'some_controller#some_action'。

+0

什麼哈克這件事?這非常好。 – siegy22

+0

如果你願意,你可以定義這樣的功能,但是在sinatra中,路由和控制器通常在同一個地方處理。 將'get'/ pokemon''中的內容複製到'/'路由,或者更好,'get'/','/ pokemons'; #口袋妖怪路線內的代碼;結尾' – marmeladze

+0

因爲它重定向而感到不高興,所以url會是'/ pokemon',但是在兩個路徑中複製這個動作似乎不是DRY(對於遲到響應抱歉!) –

回答

1

不知道它比重定向好,但你也可以添加一個捕獲所有路徑到文件的底部。

get '/*' do 
    # default route 
end