問題タブ [actioncontroller]

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 投票する
2 に答える
403 参照

ruby-on-rails - NewRelic で ActionController::Metal を監視するにはどうすればよいですか?

一部のコントローラーが通常のレールコントローラーであり、一部がActionController::Metalを使用して実装されているRails 3アプリケーションがあります。デフォルトでは、NewRelic は通常の Rails コントローラーを監視しますが、NewRelic のコントローラーは監視しません。

NewRelic は Rack アプリケーションをサポートしているようですが、指定されたコード例は、監視したい特定のミドルウェアがある場合、または定義している MetalApp がある場合のいずれかです。どちらも ActionController::Metal では動作しないようです。

では、NewRelic モニタリングをメタル コントローラーに追加するにはどうすればよいでしょうか?

0 投票する
3 に答える
619 参照

ruby - Rails 3のビュー/ヘルパー内からコントローラークラスを取得するにはどうすればよいですか?

controller_nameコントローラの名前を含む文字列を返すことについて知っていますが、ヘルパー内からコントローラクラス(またはオブジェクト)を取得するにはどうすればよいですか?

編集:このソリューションは、コントローラーに名前空間が設定されている場合にも機能するはずです(例Admin::PostsController) 。

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

ruby-on-rails - ActionController Mixin

次のようなアクションコントローラーのミックスインを作成するにはどうすればよいですか。

(ActionController に関連付けられている gem (Devise) を使用しているため、ApplicationController をサブクラス化することはできません。とにかく、mixin の方が適しているようです。)

「XHRController」というモジュールを作成し、application.rb で「ApplicationController::Base.include XHRController」を使用しましたが、「layout」、「before_filter」などを未定義として使用するとエラーになります。

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

ruby-on-rails-3.1 - authenticate_or_request_with_http_basic() の使用時に AbstractController::DoubleRenderError を受け取る

authenticate_or_request_with_http_basicブロックの先頭に呼び出しを追加すると壊れるコントローラーアクションがあります。機能しないアクション コードは次のとおりです。

ブラウザ ウィンドウに「AbstractController::DoubleRenderError」エラー応答が表示され、次のメッセージが表示されます。

このアクションでレンダリングやリダイレクトが複数回呼び出されました。render または redirect のみを呼び出すことができ、アクションごとに最大 1 回しか呼び出せないことに注意してください。また、redirect も render もアクションの実行を終了しないことに注意してください。したがって、リダイレクト後にアクションを終了する場合は、「redirect_to(...) and return」のようなことを行う必要があります。

「authenticate_or_request_with_http_basic」ロジックを別のアクションに配置し、before_filter を構成してインデックス アクションに対して実行すると、すべて問題ありません。ただし、インデックス以外のアクションにはこのロジックを再利用していません。上記のコードが機能しない理由を知りたいです。

解決

Tyler と RKB の助けを借りて、解決策を見つけることができました。ここにあります:

authenticate_or_request_with_http_basic認証が成功した場合は「true」を返します。失敗すると 401 を返します。

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

ruby-on-rails - 形式の指定:render_to_stringで無視される「xml」

ビューを文字列にレンダリングする必要があるアクションがあります。ビューはindex.xml.erbと呼ばれます。私はrender_to_stringでこれを達成しようとしています:

render_to_stringは、代わりにindex.html.erbのコンテンツをレンダリングし、それをmy_stringに割り当てます。私は何が欠けていますか?

:私は次のようなことができることを認識しています:

しかし、なぜ「フォーマット」オプションがrender_to_stringで受け入れられないのか興味があります。

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

ruby-on-rails-3 - コントローラーで定義されていないアクションのビューをRailsがレンダリングしないようにすることは可能ですか?

この質問に続いて、その新しいレールの動作をオーバーライドする方法があるかどうかを知りたいと思います。コントローラーでアクションが定義されていなくても、ビューを忘れてセキュリティの問題が突然発生しました。Railsがこれらの未定義のアクションをレンダリングしないようにし、その後、未使用のビューをクリーンアップする方がよいと思います。

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

ruby-on-rails - コントローラでリクエストタイプを検出するレール?

HTML経由でユーザープロファイルを表示するコントローラーがあり、JSON経由でプロファイル情報付きのユーザーホバーカードを表示します。

問題は、ユーザーが見つからない場合にリダイレクトすることです。これは、HTML 経由ではうまく機能しますが、JSON ではエラーが発生します。HTMLリクエストの場合にのみリダイレクトを発生させるクリーンな方法はありますか? これを処理するための正しいレール、クリーンな方法は何ですか?

ありがとう

0 投票する
0 に答える
282 参照

ruby-on-rails-3 - レールでは、controller.action_methodsは、関連付けられたルートがない場合でもメソッドを返します

機知に富んだコントローラーの場合、controller.action_methodsを呼び出すと、コントローラーで可能なすべてのアクションメソッドが生成されます。ルートを[:only=>"index"]に制限したリソースがあります。

特定のアクションメソッドにルートが関連付けられているかどうかを判断するのに役立つcontroller.action_methodsに似たメソッドを探しています。

コントローラ内のURLに動的に到達しようとしています。私はいつでもレスキューブロックを書くことができますが、誰かがより良い解決策を知っているなら、共有してください。

ありがとう、タブレス

0 投票する
0 に答える
1269 参照

ruby-on-rails - .dup および .update_attributes を使用してモデル インスタンスを生成すると、検証に失敗したときに余分なインスタンスが作成される

Activity モデルの検証があり、これは activities_controller の作成アクションです。検証を満たさずにモデルを保存しようとすると、余分なアクティビティ インスタンスが作成されます。検証に失敗したアクティビティが作成されるのはなぜですか?

ここで dup を使用する理由は、最新のアクティビティの複製を作成し、その属性のサブセットをパラメーターから更新するためです。説明のために、Activity には 10 個の属性があるとします。ユーザーは、これらの属性のうち 3 つのフィールドを持つフォームに移動します。次に、ユーザーによって更新されていない属性の最新のアクティビティと同じ属性値を持つ新しいアクティビティを作成したいと考えています。

- アップデート -

なぜこれが起こっていたのかを明らかにしました。上記のコードを短くして混乱を減らしましたが、その短縮の一環として、次の行を切り取りました。

アクティビティの保存後にコメントの保存を移動すると、アプリは正しく動作します。保存されていないアクティビティにリンクされているコメントを保存すると、アクティビティが保存されるのではないでしょうか?

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

ruby-on-rails - Rails で更新時に保持されるパラメータを取得する

Post をモデルの例として、Post に 2 つの属性があり、どちらにも検証があるとします。投稿を編集するときに、2 つの属性を変更すると、1 つが検証に失敗し、ページがリロードされるとします。ページをリロードすると、以前に保存したバージョンの投稿の属性がフォームに表示され、入力したばかりの属性ではなく、入力したばかりの属性がパラメーターに表示されるようです。

ポスト インスタンス変数の宣言は次のようになるため、これは一般的な作成アクションで処理されます。

ただし、更新アクションでは、post インスタンス変数は次のようになります。

そのため、フォームに入力され、params に渡される変更は、フォームに再レンダリングされません。私はこれを正しく説明していますか?もしそうなら、検証が失敗したときにフォームで変更をレンダリングする方法はありますか? それとも、検証に失敗しない変更のみですか?