問題タブ [responders]

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 に答える
152 参照

ruby-on-rails - Pundit::NotAuthorizedError からレスキューしてリダイレクトした後も編集ビューが表示される

私は非常に標準的な設定をしています。Identity::Memberユーザーであり、それぞれProject::Projectがメンバーによって所有されています。認証と承認にDeviseと を一緒に使用します。Pundit

これが私のコードですProject::ProjectPolicy

そして、ここに私のedit行動があります:

最後に、レスキューのセットアップApplicationController

しかし...何らかの理由で、編集をクリックすると編集ビューが表示されますが、すべての変更はブロックされ、ユーザーは更新と破棄のアクションを指示したのと同じように root_path にリダイレクトされます。なんで?

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

ruby-on-rails - デバイスを使用してモデルをシリアル化できない 1 に対して 0 の引数の数が間違っています

次のフォルダー構造を作成した Controllers フォルダーに Rails アプリケーションの API を作成しようとしています。

コントローラー > API > v1

私のルートは次のようになります

セッションとユーザーコントローラーの両方で同じエラーが発生します。短いので、ユーザーコントローラーのみを投稿します

それから私のテストは

そして、テストからの出力は

4) Api::V1::UsersController GET #show 失敗/エラー: get :show, id: @user.id, format: :json ArgumentError: 引数の数が間違っています (1 に対して 0)

2 つの問題は、1) 何らかの理由で ID が API アクションに送信されないこと、2) API にアクセスする方法がわからないことです。私はそれが api.localhost:3000/users/1 であるべきだと思った

助けてくれてありがとう

更新 これは rake ルートの出力です

更新 2これは、ユーザーの作成中に間違った数の引数 (1 に対して 0) の重複のように見え ます

残念ながら、この投稿の解決策は私にとって選択肢ではありません。Userモデルが標準のWeb railsアプリとアプリのapi部分で共有されているためDeviseが外せません

更新 3 標準アプリで API を使用する他の方法を検討していましたが、ドアキーパーでデバイスを使用することは、トークン認証よりも優れたソリューションのようです。セットアップした後、同じ状況に戻りました

引数の数が間違っています (1 に対して 0)

サーバー出力には、次の出力が表示されます。これは有効なユーザー ID を使用しています。

無効なIDを使用すると、この出力が得られます

更新 4 いくつかのデバッグ ステートメントを挿入した後、ID がコントローラー アクションに渡され、ユーザーがデータベースから取得されます。

問題は

rails はユーザーをシリアライズできません。User を、Devise が有効になっておらず、モデルをシリアル化できる別のモデルに置き換えようとしました。ここでdeviseが問題を引き起こしている理由がわかりません。

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

ruby-on-rails - エラーに対する Respond_with の JSON 応答のオーバーライド

のエラー応答をカスタマイズしたいrespond_with。エラーをレンダリングする方法は次のとおりです。

別の方法で対応してもらいたいです。この形式をオーバーライドする方法はありますか?

ActionController::Responder クラスにモンキーパッチを適用して再定義することでこれを成功させましたjson_resource_errorsが、これは悪い方法のようです。

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

ruby-on-rails - Rails: Respond_with カスタム オブジェクト

Respond_with は実際には withActiveModelのインスタンスで使用することを意図しています。のインスタンスで使用しようとしましOpenStructたが、エラーが発生します。カスタムオブジェクトで Respond_with を使用することは可能ですか?

Raises: **undefined method persisted?' for nil:NilClass** ruby-2.1.4@rails4/gems/actionpack-4.2.5.1/lib/action_dispatch/routing/polymorphic_routes.rb:298:inhandle_list' /home/workstat/.rvm/gems/ruby-2.1.4@rails4/gems/actionpack-4.2.5.1/lib/action_dispatch/routing/polymorphic_routes.rb:206:in polymorphic_method' /home/workstat/.rvm/gems/ruby-2.1.4@rails4/gems/actionpack-4.2.5.1/lib/action_dispatch/routing/polymorphic_routes.rb:114:inpolymorphic_url'

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

ruby-on-rails - Respond_with Rails 5 に問題がある

Rails アプリを から4.1.1にアップグレードしてい5.1.4ます。

roar-railsREST ドキュメントの解析とレンダリングに gem を使用しています。respondersgem が別の gem に抽出されたため、いくつかの問題に直面しています。

respond_with「responders」gem に移動しました。

私のrails 4コードは次のようになります。

投稿コントローラー:

Post の代表者

投稿代表者

argsは通過しているController問題に直面しrails 5ていnilます。

問題をデバッグしたところ、respondersgem でオプションがrespond_withメソッドに入っていることがわかりましたが、それを に送信できなかったと思いますroar-rails

/path-to-gem/vendor/responders-master/lib/action_controller/respond_with.rb スニペットは次のとおりです。

args で利用できるようにするためにここで何をする必要があるか教えてくださいrepresenters

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

ruby-on-rails - Responders gem: モデルの基本エラーをフラッシュ メッセージに追加しますか?

モデルの基本エラーをレスポンダーgemのフラッシュ メッセージに追加する簡単な方法はありますか?

依存する子が設定されているレコードを削除しようとすると、dependent: :restrict_with_error「X could not be destroy」のようなエラーが表示されますが、それ以上は表示されません。

レコードを調べると、次のエラーが追加されていることがわかりますbase

ベースエラーをフラッシュメッセージに追加する簡単な方法はありますか?