автогенерация путей в рельсах 3? - PullRequest
0 голосов
/ 18 декабря 2011

Судя по взглядам некоторых Railscasts (, в частности, ), кажется, что есть некоторая автогенерация переменных "* _path", которые не происходят для меня.в этом приведении rails, edit_mutliple_products_path создается автоматически (я обычно не люблю использовать это слово).Когда я выполняю те же шаги и пытаюсь получить доступ к похожему пути, я получаю это:

undefined local variable or method `edit_multiple_distributions_workflows_path' for #<#<Class:0x132b18a68>:0x132af3290>

Ответы [ 2 ]

1 голос
/ 18 декабря 2011

Это рельсы 2.X. Маршруты Rails изменены в Rails 3. Для того, чтобы получить этот маршрут, добавьте ниже к ports.rb:


resources :products do
  collection do
    post 'edit_multiple'
    put  'update_multiple'
  end
end

Вы сможете получить доступ к этим путям с помощью

edit_multiple_products_url
edit_multiple_products_path
update_multiple_products_url
update_multiple_products_path

вместо edit_multiple_distributions_workflow_path. Кстати, откуда вы взяли этот путь? Я не видел это в Railscast.

1 голос
/ 18 декабря 2011

В данном уроке, который выглядит так, как будто он из более старых Rails, это строка, которая генерирует методы пути:

map.resources :products, :collection => { :edit_multiple => :post, :update_multiple => :put }

В rails 3 вы можете увидеть его использование в документации здесь: http://guides.rubyonrails.org/routing.html#resource-routing-the-rails-default

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...