Railsのクラス名に数値を含めることはできますか?例:クラス名に数字があるRailsルビファイルの名前はどのようにして指定しますか?
class Test123
end
これは有効なクラスですか?私は、クラスをロードしようとするとuninitialized constant Test123
エラーが発生します。
Railsのクラス名に数値を含めることはできますか?例:クラス名に数字があるRailsルビファイルの名前はどのようにして指定しますか?
class Test123
end
これは有効なクラスですか?私は、クラスをロードしようとするとuninitialized constant Test123
エラーが発生します。
Artem Kalinchukの最後のコメントはこの誤った質問の答えに値すると思います。
Rubyクラス名には数字を使用できます。
Railsクラスは、正しく名前付きファイルで定義する必要があります。 NewYear2012Controller
というクラスを定義する場合は、 "new_year_2012_controller.rb"の代わりにnew_year2012_controller.rbファイルに定義する必要があります。
これは、Railsのインフレクトと自動ロードがどのように機能するかを示しています。私がこのことを知っていない
はい、Ruby class names may contain numbersです。しかし、Rubyのすべての識別子と同様に、they may not begin with numbers。
識別子
例:
foobar ruby_is_simple
Rubyの識別子は、アルファベットの 桁、および下線文字で構成されている、を含む( アルファベットで始まりますアンダースコア)。 のRuby識別子の長さに制限はありません。
...
は、以下の
class Ab123
def initialize(y)
@z = y
end
end
class AbCde
def initialize(y)
@z = y
end
end
と、次のインスタンスを参照してください。
Ab123.new x
または
AbCde.new x
のみ後者AbCde.new x
は正しくインスタンス化されます。
てみてくださいこれを行うには:
を追加するには、モデルとmodel.rbファイル
class TwoProduct < ActiveRecord::Base
self.table_name = '2_products'
end
は、なぜあなたはしないでくださいそれを見て? –
「未初期化定数Test123」。それはそれが有効でないことを意味しますか? @minitechはそれがそうであると言います。 –
@ArtemKalinchuk:そのエラーを生成する正確なコードを表示できますか? – Ryan