Rails маршруты с несколькими идентификаторами? - PullRequest
0 голосов
/ 27 июля 2011

Я пытаюсь настроить маршруты в Rails 3, которые выглядят следующим образом:

/items/:category/:name/

Довольно просто выполнить сопоставление, чтобы настроить это, а затем сгенерировать URL со следующим:

item_path(:category => @item.category, :name => @item.name)

Но есть ли способ настроить его так, чтобы item_path @item и form_for @item работали автоматически, поэтому мне не нужно каждый раз пропускать категорию?

Спасибо!

1 Ответ

0 голосов
/ 27 июля 2011

Не совсем нет.Я бы предложил определить метод to_params (обратите внимание на 's') для Item следующим образом:

def to_params {:category => category, :name => name} end

И затем вызывать его так item_path(@item.to_params).Если вы взломаете вещи по умолчанию для этого, я могу гарантировать, что вы столкнетесь с ситуациями, в которых вы этого не хотите.

...