0


0

移行を生成できません-「コントローラーを指定する必要がある不正なルート」-どこが間違っていますか?

背景:InstantRails 2.0を使用しています

次の構文を使用して、既存のテーブルに新しい列を追加したいと思いました。

rubyスクリプト/マイグレーションを生成するadd_fieldname_to_tablename fieldname:string

だから私は試した

rubyスクリプト/移行の生成add_invites_to_userの招待:integer ruby​​スクリプト/移行の生成add_invites_to_usersの招待:integer

そしてさらにテストする

rubyスクリプト/移行の生成AddInvites ruby​​スクリプト/移行の生成AddInvites招待:整数

上記のすべてが私に与えます

builder.rb:175 in 'build':不正なルート::controllerを指定する必要があります! (ArgumentError)

2 Answer


3


とった、

コントローラーを指定せずにルートを指定しました。

すなわちmap.connect 'users / invite /:id'

:controller ⇒ 'users’を追加して修正しました

map.connect 'users / invite /:id'、:controller ⇒ 'users'

サーバーの実行中に最初のルートを設定しましたが、うまくいきました!


2


これが起こる理由の説明が役立ちます:

`script / generate`を実行すると、Railsはアプリケーションをインスタンス化します。これには、とりわけルートの読み込みが含まれます。 これは過剰に思えるかもしれませんが、プラグイン、gem、イニシャライザーなど、Railsの初期化プロセスで読み込まれる他のものが移行の動作に影響を与える可能性があるため、「最高」です。

そのため、不正なルーティングコードがある場合、何かを生成しようとすると壊れます。