問題タブ [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.
ruby-on-rails - Respond_to およびサービス オブジェクト
現在、docx_replace gemを使用して、一連のドキュメントへのデータの挿入を自動化しています。gem は非常に単純です。基本的に、Railsコントローラー内の特別なメソッドで実行されます(ドキュメントから引用):
ただし、これによりコントローラーが肥大化したため、これを次のようにサービス オブジェクトに入れようとしました (上記の例を続けます)。
そして、コントローラー内で次のことを行いました:
ただし、コントローラー メソッドを呼び出すと、次のエラーが発生します。
私は Respond_to を読みました。ドキュメントを正しく理解している場合、それはコントローラーに固有のメソッドです (これで問題が説明されます)。どうすればこれを回避できますか?
ruby-on-rails - すべてのアクションで同じrespond_toをDRYする方法は?
ウィジェットをサーバーするコントローラーがあります。
このコントローラーは大きくなるので、すべてのアクションでこのコード ブロックを繰り返さないようにしたいと思います。
何か案が?
編集:コンテキストを提供するためだけに...
ルートはフレキシブル/ダイナミックです:get 'widgets/:action', to: 'widgets#:action'
したがって、私がアクセスwidgets/widget1
すると、ビューがレンダリングされますwidget1.html.erb
。
スクリプトを別のサーバーに含めると、widget1 が構築されます。
ruby-on-rails - レールの「respond_to」関数はどのように機能しますか?
これは生成されるデフォルトの Rails コードです。(ドキュメントの説明から) コードの動作は理解できますが、どのように動作するかはわかりません。
私が理解していること:
Post.all
インスタンス変数 @posts に保存されているすべての投稿の配列を返しますrespond_to
function はデフォルトの 'block' を取ります (1 つのパラメーター 'format' を取る無名関数ブロック)- 要求された形式に応じて、対応する出力が返されます
わからないこと:
- それは実際にどのように機能しますか?行番号 8 は、渡された形式に関係なく、オブジェクトの関数
html
メソッドを呼び出します。format
メソッドは何をしhtml
ますか?両方のメソッドが毎回呼び出されるのはなぜですか? 彼らは? - なぜ
json
メソッドは引数 (render を呼び出すブロック) を必要とするのに、html
メソッドは引数を必要としないのですか? - この関数は何かを返しますか?
json
メソッドの戻り値を返すようです。
私はRubyとRailsが初めてで、例を始めているので、各行が何をするのかを詳しく知りたいです.
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 '<' で終了しようとしています。
何時間も検索しましたが、これを解決する方法がわかりません。
ご助力ありがとうございます
ruby-on-rails - JSON 応答コントローラー アクションに複数の引数を使用する
私の検索コントローラーでは、サイト検索に json render 呼び出しを使用しています。カスタム インスタンス メソッドを JS ファイルに渡す必要があります。問題は、必要なメソッド ( ) をコンマで区切ろうとするとto_json
、コンソールに次のエラーが表示されることです。
コントローラーコード
型式コード
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 を引用符で囲む必要があることに注意してください。
フォームが成功すると、ページはルートにリダイレクトされます。失敗すると、エラー メッセージが点滅しますが、フォームは更新されません。ユーザーが入力した回答はそのまま残ります。
ios - オプションのデリゲート メソッドの RespondsToSelector
このObjective-C オープン ソース プロジェクトを Swift に変換しています。オプションのデリゲートがたくさんあります。
このようにSwiftに変換しました。
Objective-C プロジェクトでは、これらのオプション メソッドを呼び出す前に、respondsToSelector
このように使用できるかどうかを確認します。
BEMAnalogClockDelegate
コンフォームを作成してNSObjectProtocol
そのように呼び出すことで、これを直接 Swift に変換しました。
ただし、これにより、プロジェクトの実行時に EXC_BREAKPOINT クラッシュが発生します。
私は解決策を探して、これを使用することを推奨するこの記事に出くわしguard let
ました。
しかし、私の問題は、else
パーツに含まれるロジックをどのように指定するかです。たとえば、if else
上記の最初のブロックでは、ブロック内のメソッドをチェックし、if
失敗した場合はブロック内のgraduationColor
toの値を設定します。UIColor.whiteColor()
else
guard let
アプローチを使用する場合、どうすればよいですか?または、これを全体的に行うためのより良い方法はありますか?