問題タブ [ujs]
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.
jquery - UJS からパーシャルをレンダリングするにはどうすればよいですか?
関数をハイパーリンクにバインドしてパーシャルをレンダリングできますか?
ハイパーリンクがあります:
すべての画像を見るそして、私はこれをapplication.jsに持っています:
ruby erb はそのように実行されることはないと思います。そして、その「レンダリング」は、Javascript のコンテキストでは何も意味しません。しかし、別のページを表示するためだけにサーバーを完全に呼び出したくありません。Javascript のみを使用してパーシャルを表示する方法はありますか? ページを表示し、表示のオン/オフを呼び出す以外に?
javascript - Rails 3 UJS - クリックではなくホバー時
私の show アクションでは、show.js.erb をレンダリングします。これは、オプションで設定した link_to をクリックすると発生し:remote => true
ます。これがホバー時にトリガーされるように設定するにはどうすればよいですか?
javascript - Rail 3 UJS 複合体は複数の fields_for を形成します
多くのタスクを含むマイルストーンがあります。プロジェクトの表示ページで、ユーザーがマイルストーンに追加することを決定したタスクの数に関係なく、マイルストーンを作成できるようにしたいと考えています。を使用してさらにタスクを追加するにはどうすればよいですか
?
javascript - ゼブラストライプを台無しにする動的アイテム挿入
この方法を使用してゼブラストライプが実現されている製品の簡単なリストがありますcycle
。
ここに製品の部分があります:
ただし、別の製品を動的に挿入すると、サイクル メソッドは最初のクラス (この場合は「奇数」クラス) を論理的に選択するため、次のリロードまでストライピングが中断されます。製品全体を動的にリロードしても機能しますが。このメソッドはやや汚れているように見え、ページネーションを台無しにする可能性があります。私はまだ JavaScript とプロトタイプに比較的慣れていないので、自分でこれを思い付くことができないので、質問する必要があります: 以前の製品のクラス (「奇数」または「偶数」) を取得する方法はありますか?それに応じて、新しく挿入された製品にクラスを追加しますか?
パーシャルを挿入するために使用される現在のUJS:
どんな助けでも大歓迎です。
前もって感謝します。
ruby-on-rails-3 - rails 3 は「POST /categories」を CategoriesController#index アクションにルーティングしています
新しいカテゴリを作成するための ajax フォームがあります。
コントローラーで:
フォームを送信すると、ログにこれが表示されます...
私のルートファイルには次のものがあります:
「rake routes」の出力の一部:
そして、この新しいヘルパーを html HEAD に含めて、Rails 3 の目立たない JavaScript サポートに必要ないくつかのタグを生成します。
何か案は?
jquery - Rails3 + JQuery UJS で Standart Delete リンクが機能しない
JQuery 1.4.4 と jQuery UJS rails.js ( https://github.com/rails/jquery-ujs )で Ruby On Rails 3.0.3 アプリを作っています。
私はモデル/ビュー/コントローラーを生成した足場を持っています-ドキュメント、私はapp/views/documents/index.html.hamlファイルにリンクを削除しています:
link_to "delete", document, :confirm => "Are you sure?", :method => :delete
これにより、次の HTML が生成されます。
<a href="/documents/1" data-confirm="Are you sure?" data-method="delete" rel="nofollow">Destroy</a>
これは非常に問題ないようです。
この「Destroy」リンクをクリックすると、ブラウザのconfirm()が表示され、[キャンセル] をクリックしても何も起こらないと思います。
しかし
削除機能が発生し、ドキュメントが削除されます。
誰かが同じ問題を抱えていますか、それとも私は何か間違っていますか?
現在、私はここまで掘り下げました:
jquery-ujs rails.jsを調べたところ、同じアンカーに2 つの.live()イベントが関連付けられています。
1) $('a[データ確認],input[データ確認]').live('クリック', function () {...}
2) $('a[データメソッド]:not([データリモート])').live('クリック', function (e){...}
最初の live() はreturn false;を実行します。私が理解しているように、これはすべての実行チェーンにブレーキをかける必要がありますが、そうではありません。2 番目のlive()は引き続き実行され、この 2 番目のlive()はフォームが生成され、アクションを破棄するために送信される場所です。
ruby-on-rails-3 - Rails 3 カスタム JavaScript イベントはどこで定義されていますか?
Rails 3 の jquery-ujs コードに目を通すと、カスタム JavaScript イベント (submit.rails、click.rails など) にバインドされていることがわかります。これらのカスタム '.rails' イベントが定義されている場所を知っている人はいますか? Rails 3のUJSがどのように機能するかをよりよく理解しようとしているだけなので、より効果的に使用できます...
ruby-on-rails - Rails3 ujs javascript/htmlは実行されずに表示されます
かなりシンプルなアプリでrails3/ujsを書こうとしています。
私が欲しいのは、実行されるjavascriptです。私が得たのは、新しいアクションで実行されているが、編集アクションのページに表示されているjsまたはhtmlコードです。
編集はによってトリガーされます
これは
新しいはによってトリガーされます
これは
コントローラは、新しいアクションと編集アクションの両方を一緒に処理します。
'new'アクションをトリガーすると、javascriptが実行され、ビューに空のフィールドが表示され、入力の準備が整います。
「編集」アクションをトリガーすると、JavaScriptとHTMLが画面に表示されます。
問題のjs(edit.js.erb):
として表示されます
$("div#editDialog").dialog('open').html('<div class="content edit_page ui-widget"><form accept-charset="UTF-8" ... etc
また、renderステートメントをescape_javascriptして、次のように表示することもできます。
$("div#editDialog").dialog('open').html('<div class=\"content edit_page ui-widget\">\n...etc
そのため、まだjavascriptを実行していません。2つのアクションのログを比較すると、すべて同じビューがレンダリングされていることがわかります。
私はここで何を逃しましたか?(私はそれをすべて書き出すことによって解決策が私のために飛び出すことを望んでいました、しかしそれは今のところそうではありません。)
jquery - Rails 3.0.3でリモートで送信するFORMを取得できませんか?
Rails3.0.3をjQueryujsで使用しています。
フォームをリモートで送信したい。フォームを含むビューテンプレートmains/index.html.erbは、次のようになります。
コントローラのmains_controller.rbは次のようになります(不要なものを削除しました)。
ビューテンプレートmains/search.js.erbには、次のコンテンツが含まれています。
Railsを使用したアジャイルWeb開発(4hエディション)の「26.4JQueryを使用した書き込みを減らして実行する」の章の説明により、search.js.rjsの代わりにsearch.js.erbを使用しています。https://github.com/rails/jquery-ujs/issues/closed/#issue/52のために:format =>:jsも追加しました。
http://0.0.0.0:3000/mains/indexに電話してフォームを送信すると、実際にはリモートで送信されませんが、ブラウザはhttp://0.0.0.0:3000/mains/search.js?remote=trueをロードします代わりは。ブラウザは、div#searchをgiven$('#search').html("<h1>Headline</h1>");
に置き換えてJavaScriptを実行する代わりに、を出力します。<h1>Headline</h1>
私は解決策を見つけようとしましたが、今のところ成功していません...誰か助けてもらえますか?
ruby-on-rails-3 - jquery-ujsajaxイベントは処理されません
Rails3でajaxyサインアップを実装しようとしています。jquery-ujsとリモートフォームを使用しています。リクエストでサインアップフォームにアクセスすると$.get
、正しく表示されます。このサインアップフォームはリモートです:
私のapplication.jsでは、フォームを取得するためのajaxリクエストが成功した場合、控えめなJavaScriptからajaxイベントのハンドラーをバインドしようとしています。
Chromeの開発ツールは、イベント " ajax:beforeSend
"がバインドされていることを示していますが、処理されません(フォームを送信するとき、javascriptコンソールには何もありませんが、Railsログでは、要求が正しく処理され、応答が送信されます)。のように、他のイベントを同じセレクター(form[data-remote]
)にバインドできclick
、それらは正しく処理されます。
バインドされたAjaxイベント.live
も処理されません。ただし、フォームがレイアウトの一部としてレンダリングされる場合(つまり、 http:// localhost:3000 / signup /のようなスタンドアロンページにある場合)、バインドされた" ajax:beforeSend
"は正しく処理されます。
私のコントローラー(念のために、それはひどく書かれているかもしれませんが、私はそれがうまくいくと確信しています):
私は何が間違っているのですか?そのような「ダブルアジャクス」フォームを実装するためのより良いアプローチがあるでしょうか?