У меня есть модель Rails Object
, у которой нет столбца идентификатора. Вместо этого он использует кортеж первичных ключей от двух других моделей в качестве первичного ключа, dependency_id
и user_id
.map.resources с альтернативным первичным ключом
То, что я хочу сделать, это быть в состоянии сделать что-то подобное в routes.rb
:
map.resources :object, :primary_key => [:dependency_id, :user_id]
И для того, чтобы волшебным образом генерировать URL, как это:
/objects/:dependency_id/:user_id
/objects/:dependency_id/:user_id/1
/objects/:dependency_id/:user_id/1/edit
... кроме того, что я просто сделал это, и такого синтаксиса нет.
Есть ли способ настроить map.resources
, чтобы я мог получить URL-адреса RESTful, без необходимости настраивать маршруты для всего? Или я просто привинчен к тому, чтобы не следовать конвенции ID?
Опция :path_prefix
выглядит несколько перспективной, однако мне все же понадобится способ удалить часть URL-адреса id
. И я хотел бы по-прежнему иметь возможность использовать помощники путей, если это возможно.
Звучит многообещающе. Я отдам его. – Karl
Это отлично работает. К сожалению, '/' не является полезным разделителем, но тире тоже неплохо. Спасибо за помощь! – Karl