問題タブ [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.
ruby-on-rails-3 - Railsコントローラーのafter_commit
Rails 3のActiveRecordオブジェクトにコールバックが提供されていることは知っていafter_commit
ますが、Railsコントローラーでこの機能にアクセスしたいと思います。
目的は、コントローラーで次のようなことを行うことです。
これを達成する方法はありますか?ActiveRecordコールバックを使用したくないafter_commit
のは、モデルにレンダリングを実行させることでモデルとコントローラーの分離を破ることを意味するためです。これは、実行すべきではないことです。
ruby-on-rails-3 - Rails 3 で :not_found、:internal_server_error などにアクセスする
ActionController::StatusCodes
Rails 3 から削除されたようです。
次のようなHTTPステータスコードの同義語を使用しました
その他のコードについては、こちらを参照してください。
http://apidock.com/rails/ActionController/Base/render#254-List-of-status-codes-and-their-symbols
これらは Rails 3 のどこで見つけることができますか?
ruby-on-rails - ActionController が画像リクエストを処理するのに、ストリーミング リクエストを処理しないのはなぜですか?
一部の画像が見つからなかった場合 (「src」属性が間違ったパスを指している)、次のエラーが発生します。
処理 ApplicationController#index (2011-04-12 16:44:19 の 127.0.0.1 の場合) [GET]
ActionController::RoutingError ({:method=>:get} の "non-existent-image.jpg" に一致するルートはありません): /Library/Ruby/Gems/1.8/gems/ruby-debug-ide-0.4.9/lib /ruby-debug-ide.rb:109:in
debug_load' /Library/Ruby/Gems/1.8/gems/ruby-debug-ide-0.4.9/lib/ruby-debug-ide.rb:109:in
debug_program' /Library/Ruby/Gems/1.8/gems/ruby-debug-ide-0.4.9/bin/rdebug-ide:87 /usr/bin/rdebug-ide :19:load' /usr/bin/rdebug-ide:19 -e:2:in
ロード中' -e:2レスキュー/レイアウトのレンダリング (not_found)
しかし、HTML5 のビデオ要素が存在する場合、ActionController が見つからない場合に何の不満もありません。
何が起きてる ?
ruby-on-rails - Rails 3ルートからセグメントキーを取得するには?
作業中のアプリケーションの現在のパスにあるルート セグメント キーの数を特定する必要があります。関連する Rails 3 ソース ファイルを少し調べても、わかりません。
現在のルートからパスを使用url_for
して構築する方法は知っていますが、実際にルートへのマップが使用されているrequest
に到達する方法はわかりません。必要なルートのインスタンスを取得できれば、Route#segment_keys を呼び出すだけで、必要なものを取得できます。ActionController::Routing::Route
url_for
誰かが興味を持っている場合、私がこれを行っている理由は、選択ドロップダウンでリソースを切り替えて、現在選択されているリソースに適用される現在のビューにとどまることができるようにするためですが、現在のパスにネストされたパスが含まれていない場合に限ります(つまり、番号 1 は 2 の子ではないため、トグルしますが、トグル間ではトグル/resources/1/edit
しません)。/resources/2/edit
/resources/1/subresources/1
/resources/2/subresources/1
subresource
resource
ruby-on-rails - ネストされたルートでのエラー レンダリング
検証に失敗したユーザー メッセージングがある場合、きれいな URL を維持しようとしています。
次のようなルート ファイルがあります。
したがって、new_user_message_path(@user)は次を返します。
メッセージの new.erb ビューは正しいコードを生成します。
検証が失敗すると、フォーム エラーが表示されますが、間違ったアクションがレンダリングされます。
したがって、ユーザーが 2 回目にフォームを送信すると、「create」メソッドはuser_idを見つけることができません。
これが私のコントローラーメソッドです:
そして私のフォームビュー:
ruby-on-rails - 環境ごとにconfig.action_controller.default_url_options={:host ='#''}を設定する方法
現在、開発ホストで機能するこれを使用していますが、本番環境に移行するときに{:host=>""}コードを手動で変更する必要があります。
post.rb
これを使用して、環境ごとにdefault_url_optionsを定義したいと思います。
post.rb
これをconfig/environment / development.rbに追加しようとしましたが、「リンクするホストがありません!:hostパラメーターを指定するかdefault_url_options [:host]を設定してください」というエラーが表示されます。
development.rb
そして私はそれをこのように試しました:
development.rb
編集:
私もこれに従いましたが、それでも同じエラーガイドhttp://edgeguides.rubyonrails.org/action_controller_overview.html#default_url_options
アプリケーションコントローラー
これは私を夢中にさせています、私はここで何が欠けていますか?
ruby-on-rails-3 - ActionController::Metal がメモリ リークを起こすのはなぜですか?
私は次のクラスを持っています:
私が驚いたのは、本番環境でも、myaction が呼び出されるたびにオブジェクトが割り当てられることです。さらに、GC はそれを収集しないため、何かがそれへの参照を保持しています。オブジェクトを他のクラスでラップし、そのクラスにシングルトンを含めることで回避策を作成しました。それでも、ここで何が起こっているのか理解したい。
ruby-on-rails - Namespaced Controller がモデルの仮想属性メソッドを見つけられません
提供されたコードで次のエラーが発生します。
ユーザーモデル
ユーザーコントローラー
名前空間ルート
ユーザーフォーム
ruby-on-rails-3 - default_url_optionsとrails3
ActionController :: Base#default_url_optionsは非推奨になっているため、rails3でデフォルトのURLオプションを設定する方法を知りたいと思います。デフォルトのURLオプションは静的ではありませんが、現在のリクエストに依存しています。
http://apidock.com/rails/ActionController/Base/default_url_options
ありがとう、コリン
ruby-on-rails - Rails - ネストされたオブジェクトの削除
book
が所有するネストされたオブジェクトを削除したいuser
。ページには、それに関連user#show
するすべてが表示されます。各本のほかに、それへのリンクがあります。これが私のコードです:books
user
delete
routes.rb
:
book_controller.rb
:
そしてuser#show
ページで:
これが間違っていることはわかっていますが、欲しい本を削除するにはどうすればよいですか?