問題タブ [rjs]
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.
javascript - Rails 3: RJS と JavaScript の比較
私は最近、RoR3 beta/RC に基づいて、Ruby on Rails の学習を開始しました。私は以前、他のフレームワーク (Django など) を使用してアプリケーションを開発していましたが、JavaScript は完全に自分で作成していました。
RoR を使用してアプリケーションを開発するとき、JavaScript を実装する 2 つの可能な方法に混乱します。「純粋な」方法 (JavaScript を記述して<script>
タグに入れる) と RJS ファイルを記述する方法です。
どのアプローチをいつ使用する必要がありますか? RJS の場合、次のような特定のアクションを実装するにはどうすればよいonChange
ですか?
ruby-on-rails - Ruby on Rails での RJS エラー
なぜこれを行うのですか:
これを生成しますか?
ID「femenino」の DIV があります。update_page_tag は DIV の後にあり、機能しますが、ソース コードでそのエラーを確認するのは好きではありません。
ありがとう
ruby-on-rails - RoR:カスタムネストされたフォームの送信を処理する方法
Ruby-on-railsのカスタムフォームを使って、ほぼすべてのことを幸せにできましたが、最後のステップが欠落しており、一般的な単語が多すぎるため、ネット上で答えを見つけることができません。
私の質問への答えは、しばらくの間RoRを行ったことがある人にとっては些細なことだと思いますが、質問の提示はやや複雑になることに注意してください。
同等の問題を見てみましょう!
スキーマ:
publishers (id, name, address)
books (id, title, publisher_id, publishing_year, unit_price, qty)
sell_log (id, user_id, timestamp, book_id, qty, unit_price, comment)
カスタムアクション:
名前:販売(コンテキスト:本)
入力:
qty
、、comment
(暗黙の入力:book.id
、;timestamp
派生入力:user_id
、、book.unit_price
)book.qty
結果:
Sell_logが追加されます
books.qtyが減少しました
考えられるエラー:
数量は非正または非整数です。
ユーザー入力の数量が利用可能な数量(book.qty)よりも大きい
(参考:データベース設計についての質問ではありません。)
したがって、本の「編集」()と同様の動作でアクションとして実装するカスタムフォーム(非表示のbook-id; qty、comment)がありupdate
ます。何が行われるか(ほとんどすべてです):
--books_controller.rb:custom_qty_display
列を追加しました。
--books_helper.rb:
--views / books / Sell_form.erb(重要な詳細のみ)
--books_controller.rb:
現在の進行
ブックリストのエントリで[販売...]リンクをクリックすると、エントリが消え、代わりにカスタムフォームが表示されます。フォームの[キャンセル]リンク(および[X]ボタン)は完全に機能します。送信ボタンが機能します(入力が正しい場合、アクションは正常に完了します)。
そこにないのは、フォームがそのまま残っているということです。Q1
理論的には、、、Q2
およびでマークされた場所に適切なJavaScriptを返す必要がありQ3
ます。フレームワークのアップグレード時にこの手順をやり直す必要があるため、リバースエンジニアリングを行ってJavaScriptを手作業で作成することは望ましくありません。シンプルさと保守性に関して、必要なJavaScriptを可能な限り最善の方法で作成したいと思います。私が今信じているように、私のコンセプトは悪くありません。
バージョン情報
- JRuby 1.5.0
- 宝石
- レール2.3.4
- activerecord 2.3.4
- activesupport 2.3.4
(他に必要なものがあれば教えてください)
部分的な結果
internet-explorer - rjs が IE で動作しない
私のコード:
FF、Chrome、Safari、およびすべてのブラウザでうまく機能します。ユーザーはシステムにログインして自分のプロファイルにリダイレクトしますが、エクスプローラーではファイルのダウンロードを要求します! ご存知のように、ユーザーにファイルのダウンロードを求める小さな黄色いバーです。ファイルで ajax の順序を間違えていると思いますが...なぜですか?
ruby-on-rails - Rails(2.3.8)RJS Apiへのリンクはありますか?
Rails(2.3.8)のRJSメカニズムに関する優れたリファレンスを知っている人はいますか?2006/2007のようないくつかの例を見つけることができますが、実際のドキュメントはありません。
ruby-on-rails - Railsでjs.rjsファイルを再利用しますか?
多くの場所で使用する必要がある .js.rjs ファイルがあります。
どうすれば再利用できますか?
たとえば、私の .js.rjs ファイルでは、次のようなものが必要です。
ここで、「widely_used_stuff」は widely_used_stuff.js.rjs ファイルで、多くの場所で使用されるコードが含まれています。
また、次のように変数を wide_used_stuff.js.rjs に渡す必要があります。
更新 1
.js.rjs ファイルから次の方法を試しました。
この「パーシャル」が「erb」パーシャルである必要があるため、Rails はこれに文句を言います。
次の方法:
Rails は文句を言いませんが、render を呼び出した .js.rjs ファイルに「widely_used_stuff.js.rjs」が挿入されていません。XHR レスポンスを確認しました。
erb ではないため、問題は呼び出し元の .js.rjs ファイルにあると思います...
jquery - Rails Ajaxは、RJSを使用してリンクの切り替えを非表示/表示します
ユーザーが投稿にコメントできるようにしたいと思います。各提出物の下に、「コメント(2)」というリンクが必要です。このリンクをクリックすると、コメントが動的に読み込まれ、新しいコメントを追加するための簡単なフォームが表示されます。ユーザーが新しいコメントを送信すると、リストの一番下に非同期で読み込まれるようにします。
私が今それをどのように機能させているかは次のとおりです:
トグル機能の2番目の部分(非表示)についてはまだ作業していません。リンクをクリックするたびに、部分を実行するだけでなく、リンクの下にページ全体が再読み込みされるため、理由がわかりません。パラメータを正しく渡していないようです。私はこれについてすべて間違っていますか?私を正しい方向に向けてもらえますか?
ruby-on-rails - RailsRJSAJAX質問
Rails-3.0-ajax呼び出しを行おうとしていますが、エラーが発生します。
コントローラー-ホーム
表示-home#index
表示-test.rjs
リンクをクリックすると、これが表示されます-
どんな助けやアドバイスも大歓迎です。前もって感謝します。
ruby-on-rails - ajaxリクエストからレンダリングされたパーシャルにフォームオブジェクトを渡す
いくつかのネストされた属性モデルを持つイベント フォームがあります。クライアントが選択ボックスから選択されると、追加のモデルがレンダリングされます。オブザーバーは、fields_for ネストされたモデルを含むパーシャルをレンダリングするコントローラー アクションを監視して呼び出します。私が抱えている問題は、イベント「フォーム」ブロックを新しくレンダリングされたパーシャルに渡すことができないことです-少なくとも方法がわかりません...
以下のコードでは、「引数の数が間違っています (1 に対して 0)」というエラーが発生します。ヘルプや提案をいただければ幸いです。以下で説明するように、このシナリオの例を提供していただければ、目立たない JavaScript を使用してこれを再実装することもできます。
イベントフォーム:
イベントコントローラー
_client_questions.html.erb パーシャル
ruby-on-rails - Rails 3: シンプルな AJAXy ページの更新?
この単純な作業に 4 時間も費やしたなんて信じられませんが、やり遂げました。
Rails 2.3 では、ページの 1 つのセクションを次の単純なコードに置き換えることができました。
render :update do |page| page.replace_html "div_id", :partial => "new_content",... end
Rails 3 では、Ryan Bates がまったく新しい JavaScript 関数を作成し、Prototype (Rails のデフォルト) から jQuery に切り替え、そうでなければ人生を楽しんでいません。他のチュートは単純ではありません。
私は何が欠けていますか?最近はどのように交換し<div>
ますか?