Я помню, как однажды увидел возможность определять в верхней части контроллера параметры, необходимые для работы действия. На мой взгляд, я больше не могу найти упоминания об этой способности, и это было бы полезно для следующего:
def sort
params[:links].each_with_index do |id, index|
@link_set.links.in_context(context).update_all(['position=?', index+1], ['id=?', id])
end
render :nothing => true
end
Я ожидаю params [: links], поэтому, если какой-нибудь умник решит посетить это действие, не давая мне params, то оно завершится неудачно с nil.each_with_index.
Было бы неплохо изящно дать 404 или что-то, если параметры отсутствуют, без необходимости кодировать это в каждом методе этого типа.
Это существует? :)