2011-06-28 108 views
1

在我的Rails3中发动机的Gemfile,我说:Rails3中发动机:宝石(回形针和inherited_resources)不加载

gem 'paperclip' 
gem 'inherited_resources' 

我也添加到了我的gemspec:

s.add_dependency "paperclip" 
s.add_dependency "inherited_resources" 

我然后跑捆绑安装为我的引擎和客户端应用程序,并启动了客户端应用程序的控制台,以便首先测试回形针,我得到:

Using /Users/ynkr/.rvm/gems/ruby-1.9.2-p180 with gemset rails31beta 
ynkr % rails c 
/Users/ynkr/.rvm/gems/[email protected]/gems/actionpack-3.1.0.rc4/lib/action_dispatch/http/mime_type.rb:101: warning: already initialized constant YML 
Loading development environment (Rails 3.1.0.rc4) 
ruby-1.9.2-p180 :001 > b=Blog::Blog.first 
    Blog::Blog Load (0.2ms) SELECT `blogs`.* FROM `blogs` LIMIT 1 
=> #<Blog::Blog id: 1, user_id: 1, context_id: 2, title: "Cmd Line Blog Title", title_for_url: "cmd-line-blog-title", teaser: "This is the teaser for the command line blog", content: "Some content for the cmd line blog", created_at: "2011-06-28 06:06:55", updated_at: "2011-06-28 06:06:55"> 
ruby-1.9.2-p180 :002 > b.photos 
NoMethodError: undefined method `has_attached_file' for #<Class:0x00000102a57fc8> 
    from /Users/ynkr/.rvm/gems/[email protected]/gems/activerecord-3.1.0.rc4/lib/active_record/base.rb:1078:in `method_missing' 
    from /websites/gems/blog/app/models/blog/photo.rb:6:in `<class:Photo>' 
    from /websites/gems/blog/app/models/blog/photo.rb:1:in `<top (required)>' 
    from /Users/ynkr/.rvm/gems/[email protected]/gems/activesupport-3.1.0.rc4/lib/active_support/dependencies.rb:452:in `load' 

好吧,所以看起来无法找到来自paperclip gem的has_attached_file方法。为什么?我不确定。

移动到inherited_resources,我改变产生控制器支架,看起来像以下:

class Blog::ContextsController < InheritedResources::Base 
    before_filter :redirect_unless_admin 
end 

和加载索引页为实现这一目标,我很欢迎(在日志中)与:

Started GET "/blog/contexts" for 127.0.0.1 at 2011-06-28 12:06:25 -0700 

ActionController::RoutingError (uninitialized constant InheritedResources): 

Rendered /Users/ynkr/.rvm/gems/[email protected]/gems/actionpack-3.1.0.rc4/lib/action_dispatch/middleware/templates/rescues/routing_error.erb within rescues/layout (0.5ms) 

我的问题是为什么这些不起作用?我的直觉是,有一些关于引擎,命名空间和加载宝石的东西,我完全没有意识到。

回答