Я пытаюсь понять, как изменить это правило, непосредственно на map.resources:Рельсы RESTful Маршруты: переопределение Params [: ID] или [Params: model_id] по умолчанию
предположив У меня есть маршрут:
map.resource :user, :as => ':user', :shallow => true do |user|
user.resources :docs, :shallow => true do |file|
file.resources :specs
end
end
, так что я бы RESTful маршруты, как это:
/: пользователь/DOCS
/Docs /: Идентификация
/Docs /: doc_id/спецификации
Так я вижу, что трудно отследить params[:doc_id]
по этому делу, потому что иногда его params[:id]
и иногда его params[:doc_id]
и в этом случае я хотел бы всегда вызывать для одного конкретного имени поэтому мне не придется создавать две разные декларации для моих фильтров.
Ну, я сделал немного исследования и я нашел этот патч:
http://dev.rubyonrails.org/ticket/6814
и в основном то, что это делает это даст вам возможность добавить: ключевой параметр на вас map.resources так вы можете определить, как вы хотели бы, чтобы ссылаться на него позже, чтобы мы могли иметь что-то вроде:
map.resources :docs, :key => :doc ...
, так что я всегда называем Пары с params[:doc]
вместо этого.
Но на самом деле этот патч немного старый (3 года) , поэтому мне было интересно, если у нас нет ничего нового и уже встроенного для рельсов для выполнения этой задачи?
P.S Я не уверен, что метод to_param определенной внутри модели, по-видимому, это ничего не изменило на мои просьбы, и на бревнах я все еще получаю: Parameters: {"doc_id"=>"6"}
или Parameters: {"id"=>"6"}
все время.
После публикации я вижу, что я не совсем отвечаю на ваш вопрос. У Rails нет функциональности, которую вы ищете встроенной, по умолчанию параметры params [: id], указывающие на текущий ресурс, по-прежнему остаются. Родительские записи получают параметры [: parent_id] для согласованности. Для глобальных фильтров за пределами текущего ресурса, почему бы просто не передать соответствующую переменную в качестве параметра фильтра? – bensie
Да, это так, спасибо, bensie. но все же, эта вещь о не дает вам возможность изменить ключ ресурса, его вид бессмысленного не так ли? Какими будут минусы в этой ситуации? Я не понимаю: \ – zanona