2014-01-21 150 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 
相关问题