如何强制参数的特定值?

时间:2014-01-21 01:48:59

标签: ruby-on-rails ruby-on-rails-4

# GET /homeworks/1
# GET /homeworks/1.json
def show
    params.permit(:id => [])
end

我想为'id'参数强制执行一些特定值。如果'id'的值不是“1”或“2”,则不应呈现视图。

2 个答案:

答案 0 :(得分:1)

我更喜欢使用路线来实现这些限制。在routes.rb

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

/^[12]$/是“1或2”的正则表达式。因此对于GET /homeworks/3,它会产生路由错误。

答案 1 :(得分:0)

if @homework.id > 2
render :text => "unable to render view"
else
render 'view'
end