У меня есть две модели: Product и ProductType:
Продукт:
class Product < ActiveRecord::Base
default_scope :order => 'name'
has_many :sales
belongs_to :product_type, :class_name => "ProductType", :foreign_key => "type_id"
end
Тип продукта:
class ProductType < ActiveRecord::Base
default_scope :order => 'name'
has_many :products
end
В моих маршрутах.rb у меня есть:
resources :product_types do
resources :products
end
Когда я запускаю рейк-маршруты, я вижу, что этот URL-адрес существует:
product_type_product GET /product_types/:product_type_id/products/:id(.:format) {:controller=>"products", :action=>"show"}
У меня проблема в том, что когда я перехожу к: http://localhost:3000/postering_locations/48/users, он покажет мне единственного пользователя, у которого есть место публикации с идентификатором 48. Проблема в том, что он также отображает всех других пользователей. То же самое происходит, когда я меняю 48 на другой номер это действительно. Я чувствую, что это частично работает, потому что, когда я меняю его на номер, которого нет в таблице, я получаю сообщение об ошибке маршрутизации. Любые мысли о том, как заставить /postering_locations/48/users действительно показывать мне пользователей с 48 в качестве их идентификатора postering_location?
Кроме того, в файле route.rb, если я все еще хочу, чтобы люди могли видеть только /products/, где мне добавить ресурсы :products в файл route.rb?