問題タブ [view-templates]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
439 参照

ruby-on-rails - <% %> の代わりに <% -%> を使用する場合

Railsビューのいくつかの行で、これが使用されていることに気付きました:

それ以外の:

違いはなんですか?

0 投票する
1 に答える
5576 参照

c# - EditorTemplate を使用しない UIHint

私はこのようなモデルを持っています:

次に、Charities.cshtml という名前の EditorTemplate があります。

次に、私のページで:

ただし、いずれにせよ、Charities テンプレートはレンダリングされません。私はこれについて頭を悩ませてきましたが、うまくいくはずです..しかし、そうではありません。

何か案は?

編集:

問題は、UIHint があっても、既定の Object テンプレートがそれ自体以外の複雑なオブジェクトをレンダリングしない (いわゆる浅いダイビング) ことです。UIHint を使用するとテンプレートがレンダリングされるという印象を受けましたが、明らかに間違っていました。

修正は、モデル自体をレンダリングさせないようにすることです。それは悲しいことです。

0 投票する
3 に答える
1680 参照

javascript - サーバーで部分ビューをレンダリングするか、jsonデータを送信してクライアントでテンプレートをレンダリングします

Webアプリケーションで部分ビューをレンダリングするための良いアプローチ(または推奨されるアプローチ)は何でしょうか。

AJAXを使用して既にレンダリングされたページにデータをロードする必要があるという要件があります。これは、サーバーからより多くの情報を取得して下部にレンダリングする、ページの最後にある「Loadmore...」リンクのようなものです。ページ。

私が現在AJAX応答のために遊んでいる2つのオプションは次のとおりです。

  1. データのJSON表現を返し、クライアント側のテンプレートライブラリ(jQueryテンプレートなど)または単なるJavaScriptを使用してJSONをHTMLに変換し、ページの下部に追加します
  2. サーバー上で部分ビューをレンダリングし(私の場合はgrails'を使用render template:'tmplt_name')、それをネットワーク経由で送信し、結果をページの下部に追加します

これを行う他の方法はありますか?そうでない場合は、上記のオプションを考えると、メンテナンス、パフォーマンス、およびテスト容易性の点で優れていますか?私が確信していることの1つは、JSONルートは(ほとんどの場合)ネットワークを介してhtmlを送信するよりも少ない帯域幅を使用するということです。

0 投票する
1 に答える
1705 参照

cakephp - CakePHP-ビューテンプレート-フェッチされたコンテンツのデフォルト値?

これは、本の中で、単純なビューテンプレートの例です。

そして、これはそれがどのように拡張されるかです

私の質問は次 のとおりです。必要に応じて上書きするために、タイトルのデフォルト値/コンテンツ(たとえば)を設定するにはどうすればよいですか?

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

0 投票する
1 に答える
391 参照

ruby-on-rails - RABL を使用してネストされたリソースをモデル化する方法は?

ここに示すように、Rails プロジェクトでネストされたルートをセットアップしたいと考えています。

RABL テンプレートを使用して JSON コンテンツをレンダリングします。childRABLの要素の目的を誤解している可能性があります。私が理解している限り、以下に示すように、RESTful なパスにはなりません。一方、RABL がネストされたリソースをサポートしていないかどうか教えてください。

... などのネストされたルートの JSON を出力するにはどうすればよいですか? ルートに一致する RABL テンプレートを作成するにはどうすればよいusers/:id/placesですか?

ユーザー情報を表示したくありません。次のパスを介してユーザー データを取得することはできません。

プロジェクトでは、CanCan 1.6.9 を使用しています。および工夫2.2.3。

0 投票する
1 に答える
336 参照

asp.net-mvc - テーブルの代わりに webgrid を使用した ASP.NET MVC テンプレート

の代わりに WebGrid を使用する Asp.net MVC ビュー テンプレートはあり<table>ますか?

0 投票する
1 に答える
316 参照

javascript - このRails 4メソッド呼び出しをAJAX化しようとすると、500エラーが発生します

ビューにテーブルがあります: views/uploads/index.html.erb

これが部分的な「_upload.html.erb」です

バックグラウンド ジョブが実行され、テーブルの値が変更されると、このテーブルを更新しようとしています。

このために、次のセットアップがあります。1) 私の upload_controller.rb には、次のメソッドがあります。

2) uploads.js.coffee にこのコードを追加しました

3) 次のコードで「refresh_table.js.erb」ファイルを追加しました

4) 最後に、次の行を最後の行としてルート ファイルを更新しました。

サーバーを再起動し、テーブルの値を更新するバックグラウンド ジョブを開始しました。Chrome で JavaScript コンソールを実行しましたが、これらの行が 1 秒ごとに表示されるだけです

何が悪いのかわからない。私はAJAXが初めてなので、誰かが私にこれを手伝ってくれるかどうか疑問に思っていました。ありがとう


更新: 以下に投稿された解決策を試した後、これは私の routes.rb のようになります:

そして、これが私の Chrome ブラウザーに表示される [ネットワーク] タブの画像です。 ここに画像の説明を入力

コンソール タブは次のようになります。 ここに画像の説明を入力

サーバー コンソールの出力:

ネットワークのプレビュー タブ: ここに画像の説明を入力

プレビュー タブ: ここに画像の説明を入力

0 投票する
5 に答える
29445 参照

c# - ASP.NET MVC の IEnumerable モデルでカスタム エディター テンプレートを使用するための正しい慣用的な方法

この質問は、 Why is my DisplayFor not looping through my IEnumerable<DateTime>?のフォローアップです。


ささっとリフレッシュ。

いつ:

  • モデルにはタイプのプロパティがありますIEnumerable<T>
  • Html.EditorFor()ラムダ式のみを受け入れるオーバーロードを使用して、このプロパティを渡します
  • TViews/Shared/EditorTemplates の下にタイプのエディター テンプレートがあります。

次に、MVC エンジンは、列挙可能なシーケンス内の各項目のエディター テンプレートを自動的に呼び出し、結果のリストを生成します。

たとえば、Orderプロパティを持つモデル クラスがある場合Lines:

ビュー Views/Shared/EditorTemplates/OrderLine.cshtml があります。

@Html.EditorFor(m => m.Lines)次に、最上位ビューから呼び出すと、1 つだけでなく、各注文行のテキスト ボックスを含むページが表示されます。


ただし、リンクされた質問でわかるように、これは の特定のオーバーロードを使用する場合にのみ機能しますEditorFor。テンプレート名を指定すると (クラスにちなんで名付けられていないテンプレートを使用するためにOrderLine)、自動シーケンス処理は行われず、代わりに実行時エラーが発生します。

その時点で、カスタム テンプレートのモデルを として宣言しIEnumebrable<OrderLine>、何らかの方法でそのアイテムを手動で繰り返し処理して、すべてを出力する必要があります。

そして、そこから問題が始まります。

この方法で生成された HTML コントロールは、すべて同じ ID と名前を持ちます。後でそれらを POST すると、モデル バインダーは の配列を作成できなくなりOrderLine、コントローラーの HttpPost メソッドで取得するモデル オブジェクトは になりますnull
これは、ラムダ式を見ると理にかなっています。実際には、構築中のオブジェクトがモデル内の元の場所にリンクされているわけではありません。

アイテムを反復処理するさまざまな方法を試しましたが、テンプレートのモデルを次のように再宣言し、次のようIList<T>に列挙することが唯一の方法のようforです。

次に、トップレベル ビューで:

これにより、送信時にモデル バインダーによって適切に認識される適切な名前の HTML コントロールが提供されます。


これは機能しますが、非常に間違っているように感じます。

EditorForエンジンがモデル バインダーに適した HTML を生成できるようにするすべての論理リンクを保持しながら、カスタム エディター テンプレートを で使用する正しい慣用的な方法は何ですか?

0 投票する
1 に答える
640 参照

orchardcms - オーチャード ビュー テンプレートのオーバーライド

ログインページ(~/Modules/Orchard.Users/Views/LogOn.cshtml)のhtml/cssをカスタマイズ/変更したい。

テーマ フォルダー (Themes - MyCustomTheme - Views - LogOn.cshtml) の下に同じ名前の cshtml ファイルを作成しました。これはうまくいきませんでした。カスタム テーマからメインの LogOn.cshtml をオーバーライドするにはどうすればよいですか?

編集:

シェイプ トレーサーを有効にすると、次のように表示されます。

アクティブなテンプレート: ~/Modules/Orchard.Users/Views/LogOn.cshtml </p>

代替 (1): ~/Themes/SafeMode/Views/LogOn.cshtml

ありがとう。