問題タブ [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 投票する
0 に答える
414 参照

ruby-on-rails-3 - パス文字列をコントローラー+アクション+パラメーターに変換するにはどうすればよいですか?

(私はこれに対する答えを見たと確信していますが、何分も掘った後はそれを見つけることができません。答えるのは簡単なはずです...)

動機

getコンソールでは、次のようなパス引数を使用してメソッドを呼び出すことができます。

これにより、が呼び出さActionDispatch::Integration::RequestHelpers#getれ、 "/ posts / 321"が適切なコントローラーとアクションおよびパラメーターに変換されます(例:{:controller => "posts"、:action => "show"、:id =>"321"})。

しかし、コントローラーのテストではそれを行うことはできません。同じ効果を得るには、次のものが必要です。

これは、getメソッドがによって定義されているためActionController::TestCase#getです。これは、アクションとパラメーターが既に解析されていることを前提としています。

:controller、:action、および任意のパラメーターを手動で入力するテストを作成できますが、それはエラーを発生させる良い方法のようです。

質問

posts_path(321)文字列を解析して、に渡すのに適した適切な:controller、:action、およびパラメーターに変換するメソッドはありますActionController::TestCase#getか?

これにより、テストの作成が簡単になり、エラーが発生しにくくなります。

[編集:: controllerと:actionに一意にマップするには、HTTP動詞( get)とパス( )が必要であることに気付きましたが、問題はまだ残っています...]/posts/321

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

asp.net-mvc - オブジェクト参照がオブジェクト エラー MVC3 のインスタンスに設定されていません

ユーザーがフォームに入力した値から値を取得する ajax 投稿があります。

私のデータベースには、使用されている 2 つのエンティティがあり、最初にモデルを使用します。ただし、これを実行しようとすると、「オブジェクト参照がオブジェクトのインスタンスに設定されていません」というエラーが表示されます。

goalCardQuestionAnswer.SelectedQuestion.Id = selectedQuestionViewModel.QuestionID;

これは私のコントローラーの投稿です:

私の選択したQuestionViewModel:

私のデータベースモデル

ここに画像の説明を入力

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

ruby-on-rails - Object.attribute_changed?Railsコントローラーで動作しない

Deviseユーザーの登録コントローラーを上書きして、ユーザーが都市を変更したかどうかを確認し、変更した場合は、セッションでGeokitオブジェクトを再度ロードします。

問題はそれをしていないということです。以下のコードでは何も返されません。if resource.city_changed?削除すると、リソースが変更されているかどうかに関係なく、すべての場合に削除されます。

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

asp.net-mvc - MVC: 同じ [HTTPOST] アクション メソッドで編集および作成

プロジェクトで最初に MVC3-Viewmodel モデルを使用しています。

ユーザーが my に値を入力DDLTextAreaてフォーム ボタンをクリックすると、基本的に POST アクションに対して ajax url.post が実行されます。現在、Post Action メソッドがそれを作成して保存します。しかし、私が欲しいのは、ある種のチェックです。例:

  • ステップ 1: SelectQuestion に回答がある場合
  • ステップ 2: 回答が存在する場合は、更新を行います
  • ステップ 3: 回答が存在しない場合は、新規作成して保存します。

これは私のコントローラーが今どのように見えるかです:

Comment同様にGradenull可能です。

エンティティは次のように関連付けられています

どんな種類の助けも大歓迎です。

前もって感謝します!

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

ruby-on-rails - レールのフィルター前

このようなフィルターの前に設定されたこの良いアイデアはありますか

これを使用するのは、Rails がクラスをキャッシュするためです。スクリプトを正しく動作させるには、変数をリセットする必要があります。

また、ApplicationControllerで明示的に呼び出したくありません

これが私のコードです

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

ruby-on-rails - Rails コントローラーの応答でカスタム ETag 値を設定するにはどうすればよいですか?

1 つのコントローラー (のみ) について、Rails キャッシュ ロジックの外部で生成された ETag 値を使用し、304-vs-200 応答を自分で管理したいと考えています。ETag ヘッダーを設定するために私が行うことは何もないようです。

Rails は常に独自のバージョンを使用します。

ActionControllerアプリ全体でキャッシュを無効にできることはわかっていますが、それは望ましくありません。1 つのサブクラスの応答でオーバーライドしたいだけです。

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

ruby-on-rails - ActiveAdminで検索ページを作成する

ActiveAdminを使用してプロジェクトをデプロイしています。そして、私が開発しているときに私はいくつかの問題を抱えていました。「Worker」、「Product」、「Task」などのデータベーステーブルがありました。多くの状況でそれらのテーブルを検索するためのページを作成したかったのです。

簡単なページを作成しました。

そしてこれは_form.html.erb

しかし、フォームからコントローラーを呼び出す方法がわかりません。(どのコントローラーが定義されたか)そしてcontent、コントローラーからActiveadminの「my_page」の領域に結果をレンダリングまたは表示するにはどうすればよいですか?

誰かが私を助けるかもしれませんか?plz!

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

json - Rails 3.2 - ActiveResource - JSON での POST/PUT の使用

私はしばらくこれを見てきましたが、現在途方に暮れています。問題を JSON に関連するものに絞り込み、JSON が判読可能な形式で送信されていないようです。

以前はRails 3.0.7を使用していました(ここで説明する問題は存在しませんでした)。いくつかの新しい機能を利用するには、Rails をアップグレードする必要がありますが、この問題が発生しています。現時点では単純な構成か何かであるとほぼ確信していますが、もう少し注意が必要です。

ActiveResource オブジェクトを使用しており、オブジェクトの値を設定して保存すると (PUT が作成されます)、リモート Web サービスから ab 403:Forbidden が返されます。これは、Web サービス層の問題ではありません。

新しいオブジェクトを作成して POST を実行すると、デフォルト値でデータベースを更新しようとするため、409:Conflict が返されます。つまり、json データがサービスに到達していないか、判読できません。

私の問題は、これがRails 3.0.7で機能し、3.2.3(または私も試した3.1.3)では機能しなくなったことです。JSON データ以外の提案も受け付けていますが、そこに問題があることは確かです。

私の ActiveResource モデルは

初期化ファイルの 1 つに次のものがあります。

ご提案ありがとうございます。

アップデート

私はcurlでテストしており、次の方法で動作するようになりました:

私はそれを機能させましたが、

  1. Content-Type ヘッダーを明示的に設定する必要があるようです。そうしないと、415:Media Unrecognized エラーが発生します。

  2. ActiveResource オブジェクトに Content-Type ヘッダーを設定しても、まだ 409:Conflict エラーが発生するため、JSON がまだ適切に形成されていないと思われます。

編集(もう一度)

JSON のどこに問題があるかを突き止めました。Rails は JSON にルートを保持しています。したがって、リソースを次のように送り返す代わりに

送信中です

ただし、include_root_in_jsonfalse に設定しました。初期化ファイルとモデル自体の両方でこれを試しましたが、変更はありませんでした。

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

ruby-on-rails - Rails:送信後にフォーム入力が保存されない

このフォームに入力されたものが保存されないのはなぜですか?

new.html.erb

requests_controller.rb

私のコントローラーはこのhttps://github.com/railscasts/154-polymorphic-association-revised/blob/master/blog-after/app/controllers/comments_controller.rbに基づいています

request.rb
クラスRequest<ActiveRecord:: Base

これは私のデバッガーによって生成されています

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

ruby-on-rails - ユーザーインスタンスメソッドでroot_pathを使用できないのはなぜですか?(未定義のローカル変数またはメソッド)

メールパラメータを持つユーザーのメソッドを呼び出す必要があります。PayPalでの支払い機能で、リターンURLとキャンセルURLを設定しています。

user.rbにある私のメソッドは次のとおりです。

エラーが発生します:

この方法を使用できないのはなぜですか?そして、なぜ私はredirect_toを使用できないのですか?