2014-01-21 128 views
0
# GET /homeworks/1 
# GET /homeworks/1.json 
def show 
    params.permit(:id => []) 
end 

我想爲'id'參數強制執行一些特定的值。如果'id'的值不是「1」或「2」,它不應該渲染視圖。如何執行參數的特定值?

回答

1

我更喜歡使用路由來實現這種限制。在routes.rb

get 'homeworks/:id', :to=>'my_controller#show', :constraints => {:id => /^[12]$/} 

/^[12]$/爲 「1或2」 的正則表達式。所以對於GET /homeworks/3它會給出路由錯誤。

+0

很好。我如何在這種風格中添加這樣的約束:資源:homeworks –

+0

我做到了。謝謝! –

0
if @homework.id > 2 
render :text => "unable to render view" 
else 
render 'view' 
end 
相關問題