問題タブ [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.
ruby-on-rails-3 - JSを使用して変更する
問題は、条件に基づいて、(UJSを使用して)非リモートフォームに変換して送信するようなリモートフォームがあることです。フォームにファイルがアップロードされていることに注意してください。
詳細は次のとおりです。最初にを使用してリモートフォームをレンダリングしました
HTMLを生成します:
[送信]をクリックすると、予想どおり、フォームが「ASJS」で送信されます。コントローラアクションでは、送信されたフォーム内のフィールドの検証を行っています。すべての検証に合格したら、次の.js.hamlテンプレートを実行します。
これにより、ページ上のHTML(Firebugで確認)が次のように正常に変更されます。
フォームにはf.file_fieldが含まれているため、画像をアップロードできるようにマルチパートとして送信する必要があり、「AS JS」を送信できません。送信をクリックすると、コントローラーアクション「regularAction」が実際に呼び出されますが、それでも「ASJS」
問題は、フォームをxhr以外で送信できるように、HTMLで他に何を変更する必要があるかということです。それはヘッダーに関連していますか?
ruby-on-rails - javascriptでdata-methodを変更しても、ajaxがユーザーを呼び出すメソッドは変更されませんか?
修正に苦労しているという非常に奇妙な問題に遭遇しました。私の見解では、ととのリンクがdata-remote="true"
ありdata-method="delete"
ます。リンクをクリックするDELETE
と、Railsサーバーへのリクエストが表示されます。返されたJSコードは、このリンクのプロパティを変更します。その中にはとが含まれhref
ますdata-method
。
このリンクをもう一度クリックすると、サーバーは新しいへのリクエストを受信していますがhref
、古いものでは、に変更したdata-method
にもかかわらず(リクエストを送信します)。DELETE
POST
DELETE
ただし、ページを更新すると、HTMLは「新しい」HTML(返されたJSで変更されたもの)と同じですが、実際には正しいリクエストタイプが送信されます。これが問題が私を困惑させている理由です。
jquery - $.validator.unobtrusive.parse - レールの jquery
$.validator.unobtrusive.parse に関するこの質問と回答を見つけました
リモート呼び出しまたはjQueryを使用してパーシャル/コンテンツをリモートでロードすると、jquery ujsが機能しない
これは、ajax を使用してロードされたページの一部で jquery を機能させるために必要なことのようです。
しかし、私はそれが何をしているのか知りたいです!rails ujs を呼び出していますか、それとも jquery と直接やり取りしていますか? Rails ujs git ハブ サイトと jquery ドキュメントの両方を検索しましたが、どちらの場所にも何も表示されませんでした。どこかにドキュメントはありますか?
助けてくれてありがとう。
おそらくこれはより明確です:
create.js.erb または update.js.erb を使用してページの一部を追加または変更した場合、ページのこれらの部分で jquery を動作させるにはどうすればよいですか。要素を再度ソート可能にしようとしています。この質問は最適な場所の編集に関するものです。他にもいくつかの質問があり、上記のリンクが唯一の答えのようで、うまくいきません。
では、rails ujs を使用して一度変更したページの一部を jquery に「見てもらう」にはどうすればよいでしょうか。
ruby-on-rails - Rails 3:作成ではなくインデックスアクションによって処理されるリモート(UJS)フォーム
Rails(3.1.3)のRuby(1.9.3-p0)でアプリを作成していますが、オブジェクトの作成に使用しているリモートフォームで問題が発生しています。フォームは、divに配置するリモートリンクによってビューに読み込まれます(new
アクション内。フォームにもリモートのラベルが付いていますが、送信すると、POSTリクエストはindex
アクションではなくアクションによって処理されcreate
ます。なぜこれが発生するのですか?Railscreate
はベースルートのPOSTリクエストに対してコントローラーのアクションを自動的に使用するべきではありませんか?関連するコードとメッセージは次のとおりです。
フォームをロードするビューのリモートリンクは次のとおりです。
これらすべての要求を処理するコントローラーは次のとおりです。
次に、それぞれのビューは次のとおりです。
new.js.erb:
create.js.erb:
私のroutes.rbファイルでは、次のように、そのコントローラーのデフォルトのリソースでのみRailsを設定しています。resources :higher_education_studies, :except => [:index]
このrake routes
コマンドは、ルートPOST'/higher_education_studies'がcreate
アクションにリンクされていることを確認します。
そのため、フォームを送信すると、サーバーコンソールに次のように表示される理由がわかりません。
ルートファイルに明示的に行を入れてみpost '/higher_education_studies', :to => 'higher_education_studies#create'
ましたが、うまくいきませんでした。この問題について助けてくれてありがとう。
jquery - RailsのURLパラメータからDIVを表示しようとしています
Rails 3には、アクセスしたいURL(http://localhost.com/display_div_a_and_hide_div_b)があり、それぞれのdivを非表示および表示したいと考えています。
ルートファイルに次のものがあります。
しかし、これらのdivを表示および非表示にするために、特定のコントローラーアクションに何を入れるべきかがわかりません。プロトタイプではなくUJSを使用しているため、render:updateメソッドを使用できません。
どんな助けでも大歓迎です。
jquery - Rails UJS(jQuery)がデータを配線しない-リモートリンク
Railsバージョン:3.2.1
Rubyバージョン:1.9.3p125
ブラウザ:Chrome 18.0.1025.162
開発OS:Mac OS / X Lion
サーバーOS:CentOS 5
link_to呼び出しで:remoteを使用して、AJAXを使用してHTMLコンテンツを要求し、ページのセクションに返されたコンテンツを入力できるようにしようとしています。
Railsがリンクを正しく配線していないようです。ブラウザはリンクを通常のリンクタグとして認識し、RailsUJSクリックイベントハンドラーを処理していないように見えます。
動作しているデータ確認に関連付けられたリンクがあるので、これはUJSが必要なワイヤアップの少なくとも一部を実行していることを示しています。
他のクリックイベントリスナーを同じリンクにアタッチして、AJAX呼び出しから返されたHTMLを表示するページのセクションを非表示/表示しています。
これが他の場所に投稿されている場合はお詫びしますが、私は数日間検索していて、この特定の問題に対処する解決策を見つけられませんでした。関連する記事をいくつか見ましたが、それらはすべてAJAX呼び出しが行われていることを前提としており、Railsのレンダリングフローまたはルーティングの問題がいくつかあります。私の場合、ワイヤアップはまったくないようです。
ここにいくつかのコードがあります:
ビュー内の私のリンク:
RoRによって生成された出力:
/ task /:task_id/notesコントローラーコードは次のとおりです。
そして最後に、index.js.erbファイルの私のコード:
jquery - Rails3 での Ajax リクエストが機能しない
AJAX を使用してプロジェクトをリファクタリングしようとしています。私はリンクを持っています...
... xxx-controller アクション ...
... そして show_recent_chart.js.erb テンプレート
リンクをクリックした後、ログファイルには次のように表示されます。
すべてが正常に機能しているように見えます。しかし、js.erb テンプレートの JavaScript コードは実行されません。Firebug はリクエストを表示するだけで、他には何も表示しません。
どうすればこれを機能させることができますか? ありがとう!
ruby-on-rails - Rails 3 UJS の予期しない動作
私はそのようなフォームを持っています:
また、my.js には次のようなコード行があります。
削除をクリックすると、メッセージsuccしか表示されませんが、メッセージの読み込みを待ってから、メッセージsuccを待っています。
成功する前にメッセージの読み込みが表示されないのはなぜですか?
jquery - Railcasts 103 - プロトタイプから Jquery への変換、ヘルプが必要
私はこれに関しては劣等生で、完全に立ち往生しています。railscast 103に続いて、rails 3.2.3 でアナウンスシステムを実装しようとしています。
チュートリアルではプロトタイプを使用していますが、それを jquery に変換する方法がわかりません。
私application.html.haml
はこれを持っています:
非表示ボタンをクリックすると、ビューが削除announcement_hide_time
され、現在の時刻に設定されます。私はこれを私のjavascriptコントローラに持っています:
そして、これは私のルートで:
今の問題は、Railscast で、hide_announcement.js.rjs に次のものが必要だと書かれていることです。
hide_announcement.js.erb で置き換えたもの:
しかし、リンクをクリックしても、コンソールにエラーは表示されず、メッセージは削除されません。