Рейтинговый генератор m.directory не может преобразовать ноль в строку - PullRequest
0 голосов
/ 26 октября 2008

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

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

конец

Ответы [ 2 ]

1 голос
/ 26 октября 2008

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

Плюс, вы, вероятно, просто хотите

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

Наличие каталога app / models / user для вашего сгенерированного кода не является стандартным - если только вы не планируете пространство имен, на которое оно не похоже.

0 голосов
/ 06 июня 2009

Ваш метод инициализации нуждается в вызове super.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...