質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

0回答

1270閲覧

respond to で複数の変数をajaxに返したい

tarotarotarotar

総合スコア41

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2021/05/05 03:07

編集2021/05/05 03:09

ajaxを使って非同期でビューを更新したいと思っております。
シンプルに更新したい部分をDOM操作して更新がベストだと思っているのですが、対象がrailsの処理を含んでおり、再現できないため、
サーバー側でpartialを取得してフロントに返したいと思っております。

ruby

1status = 200 2view = render partial: 'child_show.html.haml', locals: { child: Child.find(params[:relative_id]) } 3 body = { 4 body: @trust, 5 view: view 6 } 7respond_to do |format| 8 format.json { render status: status, json: { body: body } } 9end

上記で行けるかな?と思ったのですが、
ActionController::RespondToMismatchError - respond_to was called multiple times and matched with conflicting formats in this action. Please note that you may only call respond_to and match on a single format per action.:
と怒られてしまいます。

調べてみるとformatが
#<ActionController::MimeResponds::Collector:0x00007ff96939e328
という形式のようで即した形式で変数を入れ込む必要がありそうなのですが、
どのようにpartialをフロントに渡せますでしょうか?

ruby

1render partial: 'child_show.html.haml', locals: { child: Child.find(params[:relative_id]) }

これのみを戻り値とすれば渡せるのですが、他のパラメータも渡したいため断念しました。。。。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

maisumakun

2021/05/07 03:26

エラーメッセージに「respond_to was called multiple times」とありますが、他の呼び出しはどこで行っていますか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問