問題タブ [partials]

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 投票する
1 に答える
444 参照

asp.net-mvc - Asp MVC 部分が検証されない

シナリオ :

Viewmodel dienstViewModel には AdresViewModel が含まれています

パーシャルを含むビュー:

最後にコミット ボタンを押すと、最初の 2 つのテキスト ボックスのみが検証されます。部分ビューも正しい入力に対して検証されるようにするにはどうすればよいですか?

それとも、パーシャルは情報を表示するためだけに使用され、情報を取得するためには使用されませんか?

部分図

ビューを呼び出すコントローラー メソッド

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

ruby-on-rails - ハッシュ値をパーシャルに動的に渡す

ハッシュ値を部分ファイルに動的に渡すという問題に直面しました。私は自分のページに人の名前を表示しました(これは部分的です)。ハッシュ値は次のようになります。

ハッシュ値を動的に渡す必要があります。どうやってやるの?この例では、新しいハッシュは次のようになります。

私のコード

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

templates - Jade ビューで JavaScript コードを使用する - if(variable) が渡される代わりに未定義と表示される

したがって、これは私が繰り返し発生する問題であり、SOで別の例を見つけていないため、次のようになります。

Jade テンプレートをレンダリングすると、テンプレートで'variableName' undefined使用-if(variableName)する場合でも取得されます。

例 (これを「情報」フラッシュ メッセージの一部として使用しています):

これは、flash/info メッセージがない場合に何もレンダリングしないのではなく、'info' is not defined を返します。私が間違っていることを誰かが知っていますか?

typeof(variable) != 'undefined前述のオプションを認識しています。私が何かをしたい場合は、-if (typeof(req.session.user) != 'undefined')ネストされた `if (typeof(req) != 'undefined'' を 3 つ実行する必要があります。これが私の唯一のオプションですか?

0 投票する
2 に答える
501 参照

cakephp - CakePHP は Symfony のパーシャルのようなものを持っていますか?

ビューでコードを再利用したい場合、Symfony には 2 つの基本的なメカニズムがあります: パーシャルとスロットです。パーシャルは、グローバル パーシャル (任意のモジュールで使用できます) とモジュール パーシャル (特定のモジュールでのみ使用可能) を定義できるため、便利です。

ただし、CakePHP では、通常のテンプレートと要素しかなく、後者はどのモデル/コントローラーに関係なく、すべてのビューで使用できます。

CakePHP には Symfony のパーシャルのようなものがありますか? たとえば、モデルのフォーム コードが重複しないようにするとよいでしょう。共通のフォームを「含める」 2 つのテンプレート (追加と編集) を持つことができます。

要素を引き続き使用できることは知っていますが、モジュール用の「ローカル」要素ディレクトリを使用すると、物事がより整理されるようです。これをシミュレートするための回避策を提案できますか?

ありがとう!

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

javascript - この種のアプリケーションで javascript を呼び出してパーシャルをレンダリングする正しい方法は何ですか?

私の Rails 3 アプリには、ユーザーがレコードを作成して編集できるフォームを含むページがいくつかあります。レコードを作成するには、ユーザーが「レコードの追加」ボタンをクリックすると、「新しいレコード」フォームを含むモーダル ダイアログが表示されます。ユーザーがフォームに入力して [保存] を押すと、モーダル ダイアログが消え、テーブルが部分的に更新され、新しいレコードが表示されます。レコードを編集するには、ユーザーは既存のレコードの横にある編集リンクをクリックします。これにより、「新しいレコード」フォームに似たフォームのモーダル ダイアログが表示されますが、タイトルは「レコードの編集」と「編集の保存」です。など

現在、テーブル パーシャルとフォーム パーシャルの 2 つのパーシャルでこれを行っています。フォーム パーシャルには、@editing 変数が true かどうかに基づいて「編集」タイトルが表示されます。

現在の動作方法は、ユーザーが [新しいレコード] ボタンをクリックすると、2 つのことを行う onClick 関数を持っているというものです。

1) 必要なオブジェクトを作成し、次のようにパーシャルをレンダリングする「新しい」アクションへの jquery ajax 呼び出し:

2) div をモーダル ダイアログ (simplemodal) として表示する jquery 呼び出し。

オブジェクトの編集ボタンをクリックしても同じことが行われますが、「編集」アクションは @editing を true に設定し、Ajax 呼び出しは編集するオブジェクトの ID を送信します。

さらに、ユーザーが保存を押してオブジェクトが保存されると、「作成」アクションと「更新」アクションの両方が次のことを行います。

「保存済み」は、テーブルのパーシャルを更新し、フォームをリセットし、「正常に保存されました」というメッセージを表示する .rjs ファイルです。

私の質問は、基本的に、これを正しく行っていますか? これらの呼び出しを行う最も最新で効率的で目立たない方法は何ですか? アクションで page["#divname"].html(render partial) タイプの呼び出しを引き続き使用する必要がありますか? rjs ファイルを使用してパーシャルをリロードし、保存メッセージを表示する必要がありますか? そうでない場合、これらの状況をどのように処理できますか (パーシャルのロードなど)?

ありがとうございます。さらに情報が必要な場合はお知らせください。

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

javascript - クライアント側のJavaScriptテンプレートパーシャルを効率的に実装する方法は?

自作したいのですが、どうしたら良いかわかりません。パーシャルは、別のより大きなテンプレートの一部にすぎず、他の複数のテンプレートに自由に挿入できるテンプレートです。テンプレート自体はかなり基本的なもので、文字列の抽出と連結だけですが、クライアント側のパーシャルは少し困惑しています。

私が考えたいくつかの方法を次に示します。

1. ajax を介して何らかの形式のローカル ストレージにパーシャルをロードする JavaScript ヘルパー関数を記述でき、その特定のパーシャルを必要とする後続のすべてのテンプレートは、最初にローカル ストレージ内を検索します。ローカル ストレージが常に保証されているとは限らないため、この方法はあまり安全ではないと思います。また、それらをローカル ストレージに保存できない場合、パーシャルによって ajax 呼び出しが多すぎます。

2、それらすべてをメインの html ファイル内のスクリプト タグに入れることができました。これは、特に head.js (スクリプト タグの並列読み込みを有効にするため) ではかなりうまく機能しますが、それでも - 各スクリプト タグはサーバーへの個別の呼び出しだと思いますよね? それは状況を正確に改善しません。

3、すべてのテンプレートを 1 つのスクリプト タグ (または html だと思います) に入れ、ある種の区切り文字で手動でフィルター処理することができます。これにより、サーバーへの呼び出しが 1 回だけになり、残りはすべてクライアントで行われます。

提案?私は既存のテンプレート エンジンを調べましたが、どのようにそれを行っているかを実際に判断することはできません。コードはかなり複雑です

0 投票する
2 に答える
17405 参照

javascript - インスタンス変数を js.erb ファイルに渡す (Rails 3 / jQuery)

次の「index.html.erb」ファイルがあります。

<%= レンダリング @users %>

これは「_user.html.erb」をレンダリングし、各ユーザーに対して特定のアクションを実行するためのボタンを出力します。

<%= link_to "action", action_path(user), :id => "#{user.id}_action", :remote => true) %>

「action.js.erb」を見て、AJAX リクエストに応答するようにユーザー コントローラーを設定しました。

パーシャル内の特定のユーザーに対して JavaScript メソッドを実行するために、パーシャル (user.id など) のインスタンス変数を js.erb ファイル内で渡す方法やアクセスする方法を知りたいです。たとえば、次のようになります。

0 投票する
2 に答える
1042 参照

ruby-on-rails - Ruby on Rails:サーバーにajax呼び出しを行わずに部分的にdivを更新する方法

ユーザーがラジオボタンをクリックしたときに、パーシャルの内容でdivを更新したい。これで、そのパーシャルのコンテンツは静的htmlになります(フォームは静的である可能性があります)。したがって、サーバーからフェッチするデータがないため、その部分をフェッチしてdivを更新するためだけにサーバーにajax呼び出しを行うのは気が進まない。これが私が試したことです。

ただし、レンダリングによって部分全体が新しい行とともに置き換えられ、JavaScriptエラーが。にスローされるため、これは機能しませんfunction loadControlPanel(type)

これを克服する方法はありますか?または他のより簡単な解決策?

ありがとうShaunak