2017-06-07 11 views
1

Ich habe einige Probleme mit Draper Juwel.Kann nicht installieren und verwenden "Draper" gem

  1. installieren draper gem 'Draper'

    $ bundle install 
    

und das war erfolgreich.

  1. tat rails generate draper:install

    $ rails generate draper:install 
    

aber ich habe einige

Fehler
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. 
  1. nie Geist Ich tat 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 
    

Dies war erfolgreich.

  1. gemacht Methode in services_decorator

    class ServiceDecorator < Draper::Decorator 
        delegate_all 
    
        def hello 
        'hello' 
        end 
    end 
    
  2. Aufruf dieser Methode aus Sicht

    <%= Service.first.decorate.hello %> 
    

aber das war Fehler,

Could not infer a decorator for ActiveRecord::Base. 

Kann mir jemand beibringen, was falsch war und wie man dieses Problem lösen kann? Die Schienen-Version ist 4.1.7 und draper Version ist 2.1.0

Antwort

1

Fehler zu entfernen, während Schienen Generator Änderung gem thor Version 0.19.1

und versuchen Sie zu application.rb config.autoload.path += %W(#{config.root}/app/decorators)

+0

Dieser hinzufügen funktionierte nicht für mich in Rails 5.1 - ich brauchte 'config.autoload_paths << File.expand_path ('/ app/decorators', __dir __)' stattdessen. –