0

このジェネレーター コードを作成しましたが、マニフェスト内で m.directory を呼び出すと、「nil を文字列に変換できません」が返されます。何があったか知ってる人いますか?

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

終わり

4

2 に答える 2

1

窒息はどこですか?完全なエラーを投稿してください。directoryメソッドのソースはここで確認できます。

さらに、あなたはおそらくただ欲しい

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

生成されたコード用のapp/models / userディレクトリを持つことは標準ではありません-名前空間を意図しているのでない限り、それはそのようには見えません。

于 2008-10-26T16:54:38.890 に答える
0

初期化メソッドには、super への呼び出しが必要です。

于 2009-06-06T01:24:00.800 に答える