2

私はレールにかなり慣れていないので、ガイダンスを探しています。

私は Rails でポートフォリオを構築していますが、Rails の基本的なルールは「同じことを繰り返すな」ということを知っています。

自分の作品を詳細に表示し、それぞれが独自のコンテンツを持つ複数のページを生成する単一のレイアウト ページを作成できますか? たとえば、www.mywork.com/nike のレイアウトは同じですが、コンテンツは www,mywork.com/pepsi とは異なります。これを行う場合、特定の画像/テキストを一意の名前で取得するにはどうすればよいですか。

それとも、静的ページを作成して同じスタイルシートを使用するだけですか?

助けてくれてありがとう!

4

1 に答える 1

0

このレールキャストを見てください - http://railscasts.com/episodes/117-semi-static-pages

あなたがやろうとしていることは実際には「レールのやり方」ではないことに同意しますが、私たちについてのようなページや、一般的にテキストのブロックを持ち、潜在的に今後更新予定。

簡単に言えば、リンク (文字列)、コンテンツ (テキスト)、見出し (文字列) を持つ content_page というモデルを作成する必要があります。次に、次のように見える show アクションだけでコントローラーを作成します-

   class ContentPagesController < ApplicationController

     def show
       @content_page = ContentPage.find_by_permalink(params[:link])
       raise ActiveRecord::RecordNotFound, "Page not found" if @content_page.nil?
     end
   end

そして、ショーアクションのビューでは、次のように言うことができます-

   @content_page.content
   @content_page.heading

そのレコードのコンテンツと見出し (または ContentPage に割り当てるその他の属性) を取得します。

次に、ルートでは、routes.rb の下部に次のようなものを配置できます (貪欲なルートであるため、下部に配置します) -

   match ':link' => 'content_pages#show' 

これで www.mywork.com/nike と発話すると、nike をリンクとして含むコンテンツ ページが表示されます。レールがキャストされるのを見る価値があるので、私は非常に簡潔です。

私が言ったように、上記のテクニックは基本的なコンテンツページにのみ適しています。インデックスアクションだけであっても、実際には各ページにコントローラーが必要です:)

于 2012-05-21T11:17:22.410 に答える