2010-07-02 8 views
2

G'day guys,Вложенные маршруты с has_one в рельсах

Имея немного проблемы с маршрутами Rails, на данный момент.

Есть верхний ресурс:/Клиент/который сам по себе имеет только один/ЦЕНУ/ресурс

Котировки могут иметь как first_resources и second_resources

, которые являются коллекции ресурсов, связанных с кавычками

Строительство маршрут, хотя как я могу установить несколько маршрутов по маршруту has_one?

map.resources :customer, :has_one => :quote 

как мне это сделать?

quote.resources :first_resources 
quote.resources :second_resources 

путем сопоставления их как подэлементов подконструкции?

Или было бы проще управлять коллекцией по-другому?

ответ

4

для этого, я бы гнездо внутри блока:

map.resources :customers do |customer| 
    customer.resource :quote do |quote| 
    quote.resources :first_resources 
    quote.resources :second_resources 
    end 
end 

альтернативный синтаксис:

map.resources :customers do |customer| 
    customer.resource :quote, :has_many => [:first_resources, :second_resources] 
end 

Это даст вам URLs из

customers/:customer_id/quote/first_resources/:id 
customers/:customer_id/quote 
customers/:id 

Или, как вы при условии я считаю, вы должны были бы отобразить множественные кавычки для того, чтобы иметь возможность добраться до конкретного предложения, если вы не хотите гнездо

map.resources :customers, :has_one => :quote 
map.resources :quotes, :has_many => [:first_resources, :second_resources] 

, что даст вам URLs из

customers/:customer_id/quote 
customers/:id 
quotes/:quote_id/first_resources/:id 

Я думаю, что первые из них является то, что года u после. Надеюсь это поможет.

Ресурсы: http://api.rubyonrails.org/classes/ActionController/Resources.html

0

map.resources: клиенты,: has_one =>: цитата

map.resource: цитата: has_many =>: first_resources

map.resource: цитата: has_many =>: second_resouces

 Смежные вопросы

  • Нет связанных вопросов^_^