問題タブ [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 に答える
1363 参照

zend-framework - zend アクションコントローラーの単体テストを行うにはどうすればよいですか?

PHP と zend フレームワークを使用して、優れたソフトウェアを迅速に構築する必要があります。私はこれを TDD の方法で進めようとしています。なぜなら、私よりも経験豊富な人々が、コードを管理しやすくしながら迅速にビルドするための最良の方法であると私に言ったからです。

それで、私はphpunitに関する本を手に入れ、うまくいきました.実際、最初の面倒の後、スピードアップし始め、コードはまだいいです. オブジェクトを個別にテストする方法が好きです。

ただし、zend アクション コントローラーのテストには大きな問題が 1 つあります。zend_test パッケージは、それをテストする方法を提供します。しかし、それはアプリケーション全体を一度にテストしているようです。リポジトリをうまくスタブまたはモックしたり、他の依存関係を注入したりすることはできないようです。そのため、プロジェクトの残りの部分でできるほど広範囲にテストすることができませんでした。

私はこの問題を解決するために探してきました。しかし、ネット上で見つけたのは、それを行う zend_test の方法だけでした。

これについてあなたの意見を知りたいです。多分私は物事をやり過ぎようとしているだけなのかもしれませんし、あるいは zend アクション コントローラの単体テストを開発するためのより良い方法があるのか​​もしれません。

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

ruby-on-rails-3.1 - Jruy/Rails 3 の NameError 未初期化定数

プロジェクトを Rails 2.6 から Rails 3.1 および Jruby 1.6.4 にアップグレードしています。Jeremy による Rails Handbook に従いました。

現在、サーバーの起動中にいくつかのエラーが発生しています。

エラーログ

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

ruby-on-rails - force_sslがリダイレクトでパラメータを破棄しないようにするにはどうすればよいですか?

私は次のルートを持っています:

たとえば、/widgets/1/orders/new注文がOrderControllerに送信され、OrderControllerparams[:widget_id]は、購入されているウィジェットを知るためにアクセスできます。

問題はこれです:私force_sslはOrderControllerで使用します。これにより、次のリクエストが発生します。

リダイレクトされる(302):

言い換えると、force_sslはその役割を果たしています(URLのhttpsプロトコルバージョンにリダイレクトしています)が、プロセス内のルートの動的セグメントによって指定されたパラメーターを破棄しています。どうすればこれが発生するのを防ぐことができますか(望ましい)、または最も不快な方法で回避できますか?

これはHerokuでホストされているため、たとえばApacheリダイレクトは機能しないことに注意してください。

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

ruby-on-rails - ActionController::RoutingError: 一致するルートがありません [POST]

12 行目のエラーが表示されます。「ログイン」ボタンまたは /logins/new パスに問題がありますか? 2 番目のテストはパスしますが、パスは正しいはずですか? 私は何を間違っていますか?

ありがとう!

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

routing - アクション コントローラ: nil:NilClass に対して例外プライベート メソッド「sub」が呼び出されました

私は今、自分のアプリに最低限のものを持っています。このエラーが発生する理由はわかりませんが、ログファイルを見ると、次のように表示されます:-

ActionController::RoutingError (nil:NilClass に対して呼び出されるプライベート メソッド「sub」): app/controllers/application_controller.rb:1 app/controllers/pages_controller.rb:1

アプリケーションコントローラーには何も含まれておらず (protect_from_forgery のみ)、ページコントローラーには現時点で空のアクションがほとんどありません。

ここで何がうまくいかないのかについての指針はありますか?

アップデート

プロジェクトを開始したばかりだったので、ロールバックして最初からやり直すことができました。ただし、この問題が発生した理由はまだわかりません ありがとう、

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

ruby-on-rails - Railsの部分ビューのレンダリング(Rails APIの読み取りに問題があります)

createコントローラーアクションにフォームを送信するjQueryの投稿があります。これはうまく機能します。save成功した場合、コールバックがこのフォームを挿入するように、createアクションが別のフォームを返すようにします。successこれは可能ですか?

これが私のコードです:

何らかの理由で、「shows/new」テンプレートはレンダリングされません。レイアウトなしで現在のコントローラーのnewテンプレートをレンダリングし続けます。ここで何が欠けていますか?

余談ですが、私はapi.rubyonrails.orgを見て、renderメソッドを調べようとしました。私はそれがとしてリストされているのを見つけましrender(context,options)たが、私の人生の間、有効なオプションが何であるかを知ることができません。これは、多くのメソッドに共通のパターンのようです。どうすればわかりますか?それは確かに私の選択肢が何であるかを理解するのに役立ち、おそらくさまざまなことを試してみることができます。

ありがとう、ダニー。

追加:render "shows/new", :layout => false動作しているコントローラーアクションで使用しました。ショーのnew.html.erbで、宣言し<%= render "/shows/form" %>ました。残念ながら、現在500エラーが発生しています。私はこれをdevelopment.logで見つけました:

何が原因なのか完全にはわかりません...

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

ruby-on-rails - ActionController 内の ActionMailer の NameError

私はRails 3.0を使用しています.APIの手順にほぼ従い、次のようにしてメーラーを定義しました

私のコントローラー内で、私は呼び出しますNotifier.mytemplate(...)

ページに移動すると、次のエラーが表示されます。

何かが正しく初期化されていないようで、Notifier が既に定義されていることを認識していません。app/mailers/notifier.rb

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

ruby-on-rails - ActiveRecordモデル内でRails 2.3.xテンプレートをレンダリングする際の未定義のメソッド「url_for」

これが「容認できる」プラクティスではないことはわかっていますが、バックグラウンド プロセスとして、レンダリングされた Rails パーシャルをデータベースにキャッシュして、JSONP 経由で高速に出力できるようにしています。このトピックに関する多くのリソースを見つけ、ActiveRecord モデル内で Rails 2.3.x パーシャルを正常に出力しましたが、Rails パーシャル内で動的 URL を使用すると失敗します。

これで成功した出力(動的URLを除く)が得られます...

ActionController::UrlWriterモジュールを含めようとActionView::Helpers::UrlHelperしましたが、うまくいきませんでした。ActionController::Base.new.url_for()パーシャルがパーシャルに動的ルートを書き込むためにアクセスできるようにするためのインスタンス化/包含順序を見つけることができないようです。

RoR: undefined method `url_for' for nil:NilClassと同様のプロセスを試みましたが、うまくいきませんでした

render_anywhere が Rails 3.x アプリのソリューションであることは知っていますが、Rails 2.3.11 で作業しています。

考え?

0 投票する
4 に答える
937 参照

ruby-on-rails - before_filter :except はサブクラス コントローラー全体で機能しますか?

ApplicationController以下のように、のフィルターで別のコントローラーからいくつかのメソッドを宣言したいと思います。

ApplicationContoller

before_filter :authorize, :except => [:index, :show, :different_controller_method]

:different_controller_methodで定義されていUserControllerます。これはできますか?

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

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

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

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

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