2008-10-26 5 views
0

Я написал этот код генератора, но он возвращает «не может преобразовать nil в String», когда я вызываю m.directory внутри манифеста. Кто-нибудь знает, что произошло?Rails generator m.directory возвращает не может преобразовать nil в String

class AuthGenerator < Rails::Generator::NamedBase 
    attr_reader :user_class_name 
    def initialize(runtime_args, runtime_options={}) 
    @user_class_name="User" 
    @controller_class_name="AccountController" 
    @user_class_file_name="#{@user_class_name}.rb" 
    @controller_class_file_name="#{@controller_class_name}.rb" 
    end 

    def manifest 
    record do |m| 
     m.class_collisions @controller_class_name, @user_class 

     puts @user_class_name 
     m.directory File.join('app/models', @user_class_name) 


    end 
    end 

конец

ответ

1

Где он задыхается? Пожалуйста, напишите полную ошибку. Вы можете увидеть источник метода directoryhere.

Кроме того, вы, вероятно, просто хотите

m.directory File.join('app/models') 

Имея приложение/модели/каталог пользователя для генерируемого кода не является стандартным - если вы не намерены пространствами имен, которые он не похож.

0

Ваш метод инициализации требует вызова супер.

 Смежные вопросы

  • Нет связанных вопросов^_^