問題タブ [respond-to]

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 に答える
639 参照

ruby-on-rails - Respond_to およびサービス オブジェクト

現在、docx_replace gemを使用して、一連のドキュメントへのデータの挿入を自動化しています。gem は非常に単純です。基本的に、Railsコントローラー内の特別なメソッドで実行されます(ドキュメントから引用):

ただし、これによりコントローラーが肥大化したため、これを次のようにサービス オブジェクトに入れようとしました (上記の例を続けます)。

そして、コントローラー内で次のことを行いました:

ただし、コントローラー メソッドを呼び出すと、次のエラーが発生します。

私は Respond_to を読みました。ドキュメントを正しく理解している場合、それはコントローラーに固有のメソッドです (これで問題が説明されます)。どうすればこれを回避できますか?

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

ruby-on-rails - すべてのアクションで同じrespond_toをDRYする方法は?

ウィジェットをサーバーするコントローラーがあります。

このコントローラーは大きくなるので、すべてのアクションでこのコード ブロックを繰り返さないようにしたいと思います。

何か案が?

編集:コンテキストを提供するためだけに...

ルートはフレキシブル/ダイナミックです:get 'widgets/:action', to: 'widgets#:action'

したがって、私がアクセスwidgets/widget1すると、ビューがレンダリングされますwidget1.html.erb

スクリプトを別のサーバーに含めると、widget1 が構築されます。

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

ruby-on-rails - レールの「respond_to」関数はどのように機能しますか?

これは生成されるデフォルトの Rails コードです。(ドキュメントの説明から) コードの動作は理解できますが、どのように動作するかはわかりません。

私が理解していること:

  • Post.allインスタンス変数 @posts に保存されているすべての投稿の配列を返します
  • respond_tofunction はデフォルトの 'block' を取ります (1 つのパラメーター 'format' を取る無名関数ブロック)
  • 要求された形式に応じて、対応する出力が返されます

わからないこと:

  • それは実際にどのように機能しますか?行番号 8 は、渡された形式に関係なく、オブジェクトの関数htmlメソッドを呼び出します。formatメソッドは何をしhtmlますか?両方のメソッドが毎回呼び出されるのはなぜですか? 彼らは?
  • なぜjsonメソッドは引数 (render を呼び出すブロック) を必要とするのに、htmlメソッドは引数を必要としないのですか?
  • この関数は何かを返しますか? jsonメソッドの戻り値を返すようです。

私はRubyとRailsが初めてで、例を始めているので、各行が何をするのかを詳しく知りたいです.

0 投票する
5 に答える
2936 参照

ruby-on-rails - jsonリクエストはレールでhtmlを返します

現在、ローカルホスト上の Rails サーバーと通信するための Ajax スクリプトを作成しようとしています (今のところ)。問題は、 $.ajax リクエストで「json」形式が必要であることを指定しているのに、Rails が「html」形式を返すことです。

Rails サーバーのコンソール ログで、次の内容を確認できます。

HTML として WelcomeControllerindex による処理 ... 34ms で 200 OK を完了...

実際にサーバーから応答を受け取りますが、JSON ではなく HTML 形式です。

私は、welcomeController コード用の Rails コントローラーに次のものが含まれていることを正確に説明します。

z は、Ajax リクエストに送り返したい変数であり、以前に定義されています (わかりやすくするためにコードにライトを付けました)。

その結果、Jquery は結果を JSON 形式で解析し、完全なページの最初の文字に対応する : parsererror syntaxerror unexpected token '<' で終了しようとしています。

何時間も検索しましたが、これを解決する方法がわかりません。

ご助力ありがとうございます

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

ruby-on-rails - JSON 応答コントローラー アクションに複数の引数を使用する

私の検索コントローラーでは、サイト検索に json render 呼び出しを使用しています。カスタム インスタンス メソッドを JS ファイルに渡す必要があります。問題は、必要なメソッド ( ) をコンマで区切ろうとするとto_json、コンソールに次のエラーが表示されることです。

コントローラーコード

型式コード

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

ruby-on-rails - Railsのrespond_toリダイレクトが機能しない

私のRailsアプリの作成コントローラーのrespond_toブロックは、保存が成功してもリダイレクトされません...これは簡単な解決策だと確信していますが、Railsの経験がなく、この問題に遭遇したのはこれが初めてです.

:remote => true となるようにフォームを設定し、コントローラは次のように...

そして、私がこの件について話している間、条件のelse部分のコードも実行されません。ただし、例外はformat.js {}、私の create.js.erb ファイルのコードを実行します (当面はアラート)。

私はRails 4.2.5で作業しています。リダイレクトとアラートが機能しない理由を誰かが理解するのを手伝ってくれますか? ありがとうございました!

ソリューションを表示するための編集 リッチの回答に基づいて、私が思いついたソリューションは次のとおりです。

コントローラ:

create.js.erb

リダイレクト URL を引用符で囲む必要があることに注意してください。

フォームが成功すると、ページはルートにリダイレクトされます。失敗すると、エラー メッセージが点滅しますが、フォームは更新されません。ユーザーが入力した回答はそのまま残ります。

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

ios - オプションのデリゲート メソッドの RespondsToSelector

このObjective-C オープン ソース プロジェクトを Swift に変換しています。オプションのデリゲートがたくさんあります。

このようにSwiftに変換しました。

Objective-C プロジェクトでは、これらのオプション メソッドを呼び出す前に、respondsToSelectorこのように使用できるかどうかを確認します。

BEMAnalogClockDelegateコンフォームを作成してNSObjectProtocolそのように呼び出すことで、これを直接 Swift に変換しました。

ただし、これにより、プロジェクトの実行時に EXC_BREAKPOINT クラッシュが発生します。

私は解決策を探して、これを使用することを推奨するこの記事に出くわしguard letました。

しかし、私の問題は、elseパーツに含まれるロジックをどのように指定するかです。たとえば、if else上記の最初のブロックでは、ブロック内のメソッドをチェックし、if失敗した場合はブロック内のgraduationColortoの値を設定します。UIColor.whiteColor()else

guard letアプローチを使用する場合、どうすればよいですか?または、これを全体的に行うためのより良い方法はありますか?