2010-10-08 54 views
4

我想写我的第一轨3宝石 - 一切运作良好,除了路线 - 我似乎无法让他们工作。这可能是一个非常简单的错误 - 如前所述,这是我第一次使用引擎。宝石本身是非常,非常基本的 - 真的只是一个支架Rails新手:如何添加路线到轨道3引擎?

我的宝石的config/routes文件:

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

...当我尝试启动服务器时,我得到以下错误:

/home/john/.rvm/gems/ruby-1.9.2-p0/gems/cancandevise-0.1.0/config/routes.rb:3:in <class:RouteSet>': undefined method resources' for ActionDispatch::Routing::RouteSet:Class (NoMethodError)

任何建议非常感谢。在目前,创业板无非是一个非常基本的轨道产生的“青蛙”脚手架

干杯, 更多 - JB

+0

这是一个错字'资源:frogs';因为它应该是'资源:青蛙'?可能是你的问题的原因... – 2010-10-08 13:18:32

+0

谢天谢地,这是正确的文件。无论如何干杯......这会令人尴尬。 ;-) – PlankTon 2010-10-08 13:27:53

回答

5

@marcgg,我相信这是一个常规的Rails应用程序的语法,但我认为他在谈论的引擎。

@unclaimedbaggage,你的引擎/宝石路线文件应该是这样的:

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

我做了所有我创建首批创业板时,我遇到的常见安装问题倒是一个例子引擎,你会发现它有益的参考:

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

+0

完美 - 非常感谢。 ;-) – PlankTon 2010-10-09 09:10:14

2

我不知道,如果我知道为什么您使用的是routeset。你展示了什么文件?你试试这个:

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

此处了解详情:http://asciicasts.com/episodes/203-routing-in-rails-3

+0

我无法做到这一点,因为作为宝石的一部分,'Y​​ourApp'可能具有任何价值。不过你有点儿不对 - 我应该画画。我得到它与Rails.application.routes.draw do | map |一起工作...谢谢。 ;-) – PlankTon 2010-10-08 17:00:52

0

只是想在这里补充一个选择,因为我不知道@Keith Schact是做什么的conventional方式,这个工作对我来说:

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

然后在需要的宝石的应用:

​​

你会得到的网址则是:

​​