1

Ruby on Railsは、スキャフォールドを作成するための構文を変更したようです。私は使用するように言う例を試しています:

ruby script/generate scaffold tale tale
ruby script/generate scaffold genre genre

データベーステーブルには、「ジャンル」と「物語」という名前が付けられています。繰り返さない場合は、問題なく動作します。

ruby script/generate scaffold tale
ruby script/generate scaffold genre

ただし、この本で説明されているように、localhost/genreは機能しません。localhost / genresを使用してページにアクセスできますが、「作成」を選択すると、ページには次の情報しか表示されません。

新しいジャンル

(作成ボタン)

戻る

入力フィールドを表示するために必要なものがありませんか?「showcreatetablegenres」は、テーブルが次のように定義されていることを示しています。

CREATE TABLE `genres` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `genre_name` varchar(25) NOT NULL,
  `description` varchar(100) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 |
4

1 に答える 1

1

スキャフォールドがフォームに入力フィールドを生成するには、コマンド自体でそれらを渡す必要があります。

ruby script/generate scaffold genre genre_name:string description:text

これにより、表示したものと同じデータベーステーブルが生成され、ビューに適切な入力フィールドが表示されます。

于 2011-08-02T23:10:01.513 に答える