問題タブ [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.

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

ruby-on-rails - Rails + rails-api: ヘルパーによる循環依存

ヘルパーの api_helper フォルダーにモジュール ApiHelper があり、ちょっとした混乱を引き起こしています。controllers/api/v1 には 2 つのコントローラーがあり、どちらも

正確なエラーは次のとおりです。

Rails-apiを使用してこのように設定されたapi_controllerがあるため、この問題が発生していると思います。

私の通常のアプリケーションコントローラーはこのように設定されています

API コントローラーは ApiController から継承されますが、通常の App コントローラーは ApplicationController から継承されます。

あるいは、もっと単純なものかもしれません。考え?

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

ruby-on-rails - Rails でレコードを期限切れにする

Rails アプリに ApiKey レコードがあります。これには、expires_at 日時列があります。

このコールバックを使用して期限切れにしようとしています:

ただし、期限切れの ApiKey を初めて見つけようとすると、引き続きキーが返されます。find を再度呼び出した場合にのみ、 が発生しますRecordNotFound

期限切れの ApiKey を機能させることができないため、これは問題です。

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

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 オブジェクトをさまざまな方法でフォーマットしようとしましたが、何も機能しません。これまで私は使用してきました:

  1. {"ユーザー":{"名前":"テスト"}}
  2. {{"名前":"テスト"}}
0 投票する
0 に答える
520 参照

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'」を試しました)。

どんな提案も歓迎します。

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

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 行目の [ 問題を修正した後) が機能します。

バンドル後に彼が生成するモデルを生成しようとすると、ターミナルで次のようなものが得られます...

「未定義のメソッド「構成」」をグーグルで検索しましたが、それが何であるかについて決定的な答えが見つからないようです。

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

ruby-on-rails - Shoulda で Application Controller メソッドをテストするにはどうすればよいですか?

アプリケーション コントローラー内のテスト用に私が見つけた最も近いリソースはhereです。残念ながら、実際には機能しません。MyApp は初期化されていない定数を生成します。適切なルートを追加する他の方法を試しましたが、どれも機能しません。

私の目的は、ApplicationController に埋め込んだ認証方法をテストすることです。テストを他のコントローラーに入れたくありません。それは彼らの関心事ではないからです。それは彼らをサポートするものですが、「彼らの」機能の一部ではありません。「test_helper」が必要

上記のコードでは、url ヘルパー メソッド エラーが発生します。

編集:

ボルダーの親切なアドバイスのおかげで、私はこれを乗り越えましたが、後でルートを修正するという彼の提案はうまくいきません: