0

私はレール学習の旅に出ており、最初のレールアプリを作成しようとしています。ユーザーがさまざまなトピックに関する投稿を作成できる、非常にシンプルなアプリです。

「ロンドン」と呼びたいページの最初の足場を生成しました (rails generate scaffold london location:string content:text)。サイトのユーザーは、投稿とロンドンで訪れる場所の場所を投稿できます。

次に、この機能を「パリ」に複製したいと考えました。新しい足場を生成しますか、それとも別の方法で進めますか? アドバイスをいただければ幸いです。

また、URL は複数形になります (mywebsite.com/londons)。追加した

resources :londons, :path => "london"

URL が変更されましたが、投稿しようとすると No route matches [POST] "/londons" エラーが発生します。誰でもこれを修正できますか?

ありがとうございました!

4

2 に答える 2

1

各都市のコントローラーを生成する代わりに、モデル間の関係を作成することをお勧めします。たとえば、都市と場所の足場を作成し、都市モデル内で実行できます

has_many :locations

そして、あなたができる場所モデルの中で

belongs_to :city

そうすれば、都市ごとに新しい足場を作成する必要がなくなります。リレーションシップの使用方法については、こちらのガイドを参照してください。

于 2013-10-16T21:26:44.557 に答える
0

おそらく、最初に一般化する必要があります:)

実際に必要なのはページ(またはトピック、記事) です。タイトル (ロンドン、パリなど) などの属性を持つページ モデルを実装できます。

PagesController を導入します。indexアクションはページのリストにつながり、show特定のページをレンダリングします。

ルートでは、次のようにします。

resources :pages
于 2013-10-16T21:29:00.037 に答える