Rails newbie: Как добавить маршруты к двигателю rails 3? - PullRequest
4 голосов
/ 08 октября 2010

Я пытаюсь написать свой первый рельс 3 драгоценный камень - все работает хорошо, за исключением маршрутов - я не могу заставить их работать. Возможно, это очень простая ошибка - как уже упоминалось, это мой первый опыт работы с двигателями. Сам камень очень, очень простой - буквально один эшафот

Файл конфигурации / маршрутов моего драгоценного камня:

class ActionController::Routing::RouteSet
  resources :frogs
end

... И когда я пытаюсь запустить сервер, я получаю следующую ошибку:

/ дома / джон / .rvm / драгоценные камни / рубиново-1.9.2-p0 / камни / cancandevise-0.1.0 / конфигурации / routes.rb: 3: в <class:RouteSet>': undefined method ресурсов для ActionDispatch :: Routing :: RouteSet: Класс (NoMethodError) * +1010 *

Любые предложения высоко ценится. В настоящий момент драгоценный камень является не более, чем очень простой сгенерированный рельсом лес «лягушка»

Ура, - JB

Ответы [ 3 ]

5 голосов
/ 09 октября 2010

@ marcgg, я полагаю, что это синтаксис для обычного приложения rails, но я думаю, что он говорит о движке.

@ unclaimedbaggage, ваш файл движков / гем-маршрутов должен выглядеть следующим образом:

Rails.application.routes.draw do |map|
  resources :frogs
end

Я сделал пример движка, который затрагивает все распространенные проблемы установки, с которыми я столкнулся при создании моего первого драгоценного камня, вы можете найти его полезным для ссылки:

http://keithschacht.com/creating-a-rails-3-engine-plugin-gem/

2 голосов
/ 08 октября 2010

Я не уверен, что понимаю, почему вы используете набор маршрутов.Какой файл вы показали?Вы пробовали это:

   YourApp::Application.routes.draw do |map|  
     resources :frogs
   end

Больше информации здесь: http://asciicasts.com/episodes/203-routing-in-rails-3

0 голосов
/ 07 мая 2015

Просто хотел добавить альтернативу здесь, так как я не уверен, @Keith Schact делает это обычным способом, у меня это сработало:

MyEngine::Engine.routes.draw do
  resources :frogs
end

тогда вприложение, которое требует драгоценный камень:

mount MyEngine::Engine => '/my_engine', :as => :some_namespace

URL, который вы получите, будет:

http://myserver.com/some_namespace/frogs

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