問題タブ [rails-api]
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 - Rails + rails-api: ヘルパーによる循環依存
ヘルパーの api_helper フォルダーにモジュール ApiHelper があり、ちょっとした混乱を引き起こしています。controllers/api/v1 には 2 つのコントローラーがあり、どちらも
正確なエラーは次のとおりです。
Rails-apiを使用してこのように設定されたapi_controllerがあるため、この問題が発生していると思います。
私の通常のアプリケーションコントローラーはこのように設定されています
API コントローラーは ApiController から継承されますが、通常の App コントローラーは ApplicationController から継承されます。
あるいは、もっと単純なものかもしれません。考え?
ruby-on-rails - Rails でレコードを期限切れにする
Rails アプリに ApiKey レコードがあります。これには、expires_at 日時列があります。
このコールバックを使用して期限切れにしようとしています:
ただし、期限切れの ApiKey を初めて見つけようとすると、引き続きキーが返されます。find を再度呼び出した場合にのみ、 が発生しますRecordNotFound
。
期限切れの ApiKey を機能させることができないため、これは問題です。
ruby-on-rails - Rails 4 API への POST リクエストの空のパラメータ
APIを作成するためにRailsでコーディングを始めたばかりで、すでに壁にぶつかっています。POST リクエストを使用してユーザーを作成しようとしています。scaffold コマンドを使用して作成されたユーザー コントローラーは次のとおりです。
終わり
ユーザーモデルには検証が1つしかなくvalidates :name, presence: true
、明らかにparamsが常に空であるため、失敗し続けます。Postman - Chrome で REST クライアントを使用している呼び出しをテストするために、ヒットしている URL はhttp://localhost:3000/users
. 私がひどく間違っているのは何なのかわかりません。フォームと http を使用した同じセットアップは正常に機能します。
JSON オブジェクトをさまざまな方法でフォーマットしようとしましたが、何も機能しません。これまで私は使用してきました:
- {"ユーザー":{"名前":"テスト"}}
- {{"名前":"テスト"}}
ruby-on-rails-4 - Rails API の Doorkeeper/Bcrypt を使用した正しいログイン
Rails 4を使用してAPIを作成しましたが、現在、ログインの方法を理解しようとしています。API は iPhone アプリに使用されるため、トークン認証と Doorkeeper/OAuth2 gem を使用することにしました。
これまでのところ、ユーザーの認証を処理するためにサインイン コントローラーを作成しました (パスワードのハッシュには bcrypt を使用しています)。
上記のコードで私が抱えている問題は、ファラデーのタイムアウトです。問題は access_token 呼び出しにあります。/signin に対して POST 要求が行われたため、認証のために Doorkeeper に送信される 2 番目の要求 (access_token) は、最初の要求が完了するまで待機する必要があります。
プロセスを複雑にしすぎているかどうかはわかりませんが、達成したいのは、フロントエンドからリクエストを行い、ユーザーが認証され、将来の使用のためにトークンがフロントエンドに返されることです。
私が試した別のアプローチは、次のように /oauth/token に POST することです。
{ "grant_type" : "password", "username" : "test@gmail.com", "password" : "$2a$10$igmaaZkrSviHc.8Glm3hcuRdqzeT5YQwYaKFN9eUbpfcmCqA3PBiO", "client_id" : "f5cbc8d91f6e007c003e17baf3f45cb83cede4313c381afa99e456f59b08e3f8", "client_secret" : "f827f84548b33ebd8042cfbaa7aff944f5844aad7962623ed68d83963bc62bb5" }
このアプローチは正常に機能しますが、パスワードは既にハッシュされており、使用しようとすると
doorkeeper.rb で、BCrypt に関するエラーが表示されます (「require 'bcrypt'」を試しました)。
どんな提案も歓迎します。
ruby-on-rails - rails-api gem を使用して何も生成できません
rails-api gem を使用して Rails json API をセットアップしようとしていますが、正常に機能させるのに少し問題があります。
ember.js フロントエンド用にこれを作成するので、このチュートリアルに従っています。
http://blog.jasonkriss.com/building-an-app-with-ember-app-kit-part-1/
そして、バンドル (3 行目の [ 問題を修正した後) が機能します。
バンドル後に彼が生成するモデルを生成しようとすると、ターミナルで次のようなものが得られます...
「未定義のメソッド「構成」」をグーグルで検索しましたが、それが何であるかについて決定的な答えが見つからないようです。
ruby-on-rails - Shoulda で Application Controller メソッドをテストするにはどうすればよいですか?
アプリケーション コントローラー内のテスト用に私が見つけた最も近いリソースはhereです。残念ながら、実際には機能しません。MyApp は初期化されていない定数を生成します。適切なルートを追加する他の方法を試しましたが、どれも機能しません。
私の目的は、ApplicationController に埋め込んだ認証方法をテストすることです。テストを他のコントローラーに入れたくありません。それは彼らの関心事ではないからです。それは彼らをサポートするものですが、「彼らの」機能の一部ではありません。「test_helper」が必要
上記のコードでは、url ヘルパー メソッド エラーが発生します。
編集:
ボルダーの親切なアドバイスのおかげで、私はこれを乗り越えましたが、後でルートを修正するという彼の提案はうまくいきません: