2017-06-07 132 views
1

我在處理draper gem時遇到了一些問題。無法安裝和使用「draper」gem

  1. 安裝布店 寶石 '布店'

    $ bundle install 
    

,這是成功的。

  • rails generate draper:install

    $ rails generate draper:install 
    
  • ,但我得到了一些錯誤

    Expected string default value for '--test-framework'; got false (boolean) 
        Expected string default value for '--helper'; got true (boolean) 
        Expected string default value for '--assets'; got true (boolean) 
        Expected string default value for '--test-framework'; got false (boolean) 
        Expected string default value for '--helper'; got true (boolean) 
        Expected string default value for '--decorator'; got true (boolean) 
        Expected string default value for '--decorator'; got true (boolean) 
        Expected string default value for '--jbuilder'; got true (boolean) 
        Could not find generator draper:install. 
    
  • 沒關係,我做了rails generate decorator Service

    Expected string default value for '--test-framework'; got false (boolean) 
    Expected string default value for '--helper'; got true (boolean) 
    Expected string default value for '--assets'; got true (boolean) 
    Expected string default value for '--test-framework'; got false (boolean) 
    Expected string default value for '--helper'; got true (boolean) 
    Expected string default value for '--decorator'; got true (boolean) 
    Expected string default value for '--decorator'; got true (boolean) 
    Expected string default value for '--jbuilder'; got true (boolean) 
    Expected string default value for '--test-framework'; got false (boolean) 
         create app/decorators/service_decorator.rb 
    
  • 這是成功的。

  • 在services_decorator製成方法

    class ServiceDecorator < Draper::Decorator 
        delegate_all 
    
        def hello 
        'hello' 
        end 
    end 
    
  • 呼叫從視圖

    <%= Service.first.decorate.hello %> 
    
  • 此方法但這是錯誤,

    Could not infer a decorator for ActiveRecord::Base. 
    

    有人可以教我什麼是錯的,以及如何解決這個問題? 軌道版本是4.1.7,並且布店的版本是2.1.0

    回答

    1

    要刪除的錯誤,同時使用Rails生成變化gem thor版本0.19.1

    ,並嘗試添加到application.rb config.autoload.path += %W(#{config.root}/app/decorators)

    +0

    這在Rails 5.1中不適合我 - 我需要使用'config.autoload_paths << File.expand_path('/ app/decorators',__dir __)'。 –