我正在使用Rails 3.2.11。我有一個動作(表演),如果模型中的某個屬性未設置,我想禁用該動作。現在我正在處理這個問題:僅在模型具有某些屬性集時啓用動作
def show
@model = Model.find(params[:id])
if [email protected]
raise ActionController::RoutingError.new('Something bad happened')
end
end
這是可以接受的還是有更好的方法來處理這種情況?我希望行爲與用戶試圖訪問不存在的記錄時相同。
我想你的意思是「before_filter」 – mockaroodev 2013-02-24 22:59:48
此外,你可以限制這個過濾器在過濾器上使用'only'或'except'選項的方法:'before_filter:check_attribute,:only =>:show' – 2013-02-24 23:06:16