問題タブ [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.
ruby-on-rails - Pundit::NotAuthorizedError からレスキューしてリダイレクトした後も編集ビューが表示される
私は非常に標準的な設定をしています。Identity::Member
ユーザーであり、それぞれProject::Project
がメンバーによって所有されています。認証と承認にDevise
と を一緒に使用します。Pundit
これが私のコードですProject::ProjectPolicy
そして、ここに私のedit
行動があります:
最後に、レスキューのセットアップApplicationController
しかし...何らかの理由で、編集をクリックすると編集ビューが表示されますが、すべての変更はブロックされ、ユーザーは更新と破棄のアクションを指示したのと同じように root_path にリダイレクトされます。なんで?
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が問題を引き起こしている理由がわかりません。
ruby-on-rails - エラーに対する Respond_with の JSON 応答のオーバーライド
のエラー応答をカスタマイズしたいrespond_with
。エラーをレンダリングする方法は次のとおりです。
別の方法で対応してもらいたいです。この形式をオーバーライドする方法はありますか?
ActionController::Responder クラスにモンキーパッチを適用して再定義することでこれを成功させましたjson_resource_errors
が、これは悪い方法のようです。
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:in
handle_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:in
polymorphic_url'
ruby-on-rails - Respond_with Rails 5 に問題がある
Rails アプリを から4.1.1
にアップグレードしてい5.1.4
ます。
roar-rails
REST ドキュメントの解析とレンダリングに gem を使用しています。responders
gem が別の gem に抽出されたため、いくつかの問題に直面しています。
respond_with
「responders」gem に移動しました。
私のrails 4
コードは次のようになります。
投稿コントローラー:
Post の代表者
投稿代表者
私
args
は通過しているController
問題に直面しrails 5
ていnil
ます。
問題をデバッグしたところ、responders
gem でオプションがrespond_with
メソッドに入っていることがわかりましたが、それを に送信できなかったと思いますroar-rails
。
/path-to-gem/vendor/responders-master/lib/action_controller/respond_with.rb
スニペットは次のとおりです。
args
で利用できるようにするためにここで何をする必要があるか教えてくださいrepresenters
ruby-on-rails - Responders gem: モデルの基本エラーをフラッシュ メッセージに追加しますか?
モデルの基本エラーをレスポンダーgemのフラッシュ メッセージに追加する簡単な方法はありますか?
依存する子が設定されているレコードを削除しようとすると、dependent: :restrict_with_error
「X could not be destroy」のようなエラーが表示されますが、それ以上は表示されません。
レコードを調べると、次のエラーが追加されていることがわかりますbase
。
ベースエラーをフラッシュメッセージに追加する簡単な方法はありますか?