1

これは Ruby on Rails を使用した最初のプロジェクトで、フロントエンド コードに取り組んでいます。バックエンドの開発者も Rails は初めてです。1 つのテンプレートにはrender 'flashes'、フォーム送信でエラーが発生したときにトリガーされるコードが含まれています。しかし、それが生成するマークアップはめちゃくちゃなので、修正したいと思います。例を次に示します。は私の<!-- comments -->ものです:

<div id="flash">
    <div class="wrapper">
      <div title="Error" class="error"></div>  <!-- Empty div -->
        <p>Please enter a valid email</p>      <!-- p element sibling of div.error -->
      </div>                                   <!-- Closes div.wrapper -->
    </div>                                     <!-- Closes div#flash -->
</div>                                         <!-- Extra /div closes parent div -->

メッセージに使用したいdivのですが、最大の問題は、div最後に余分な終了タグがあり、親部門を閉じてレイアウトを台無しにすることです。

コントローラーでエラー メッセージが として定義されているflash[:error] = "Please enter a valid email"ことがわかりますが、レールがこの偽のマークアップを取得している場所がわかりません。_flashesこの問題を修正するために編集できるパーシャルはありますか? プロジェクトのファイルシステムを調べてみましたが、このマークアップがどこにあるのかわかりません。

4

1 に答える 1

2

_flashes.html.erbRails ソースにファイルがありません。見ているなら

render 'flashes'

あなたのアプリケーションでは、あなたまたはあなたが実行したジェネレーターをそこに置きます。のファイルを調べて、質問で指定したマークアップを含むファイルを探しapp/views/ます。_flashes.html.erbそのファイルを見つけたら、それを変更できるはずですが、壊れた HTML の問題を修正する必要があります。

そこに見つからない場合はGemfile、特にテーマ/テンプレートに関連する宝石のリストを見てください。このテンプレート ファイルを含む gem を含めた可能性があります(ただし、 に存在するファイルよりも可能性は低いですapp/views/)

于 2012-08-28T06:10:18.590 に答える