0

アプリでお問い合わせページの html テンプレートを実装しています。不可能と思われる新しいコントローラーを生成することなく、動作しないそのページのリンクをどうにかして渡すことができるかどうか疑問に思っています。テンプレートを public フォルダーに配置してから、/public/contact へのリンクをテンプレート contact.html.erb に渡そうとしましたが、Rails は初期化されていないコントローラー ルーティング エラーを返します。

これがroutes.rbファイルに設定したものです

「公開/連絡先」を取得

これは私のリンクを運ぶapplication.html.erbです

   </div>
<ul>
  <li><a href="http://localhost:3000">HOME</a></li>
  <li><a href="http://localhost:3000/info/news">NEWS</a></li>
  <li><a href="http://localhost:3000/info/faq">FAQ</a></li>
  <li><a href="http://localhost:3000/public/contact">CONTACT US</a></li>
</ul>

パス info/news および info/faq もあることに注意してください。

これらすべての静的ページを処理するためのコントローラー情報を生成しました。これが良い方法なのか、それとも他のよりドライな方法でこれを実装する必要があるのか​​ を知りたいですか?

4

2 に答える 2

0

リクエストのためだけに新しいコントローラーを生成する必要があるのはなぜですか。推奨される方法は、get リクエストを使用して共通/ユーティリティ コントローラーに新しいアクションを追加し、私たちについて表示することです。例:match '/about' => 'pages#about' これは、ページをキャッシュしてパフォーマンスを向上させたり、動的にすることができるので良いです(html.erb)

また

public静的ファイル(htmlのみ)がフォルダーにあると仮定して、アンカータグを直接追加して、属性を使用して新しいページで開きますtarget=_blank

<%= link_to "About Us", "/about_us.html" ,:target=>"_blank"%>
于 2015-01-13T12:40:00.813 に答える