問題タブ [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 に答える
198 参照

ruby-on-rails-4 - スレッドセーフな方法で /lib に物をロードする方法は?

試しconfig.autoload_paths += Dir["#{config.root}/lib/**/"]てみましたが、エラーconfig.eager_load_paths += Dir["#{config.root}/lib/**/"]が発生し続けます。uninitialized constant

これは、Rails 4 のデフォルトになっているように、dependency_loading無効になっていることに関係していると思います。config.threadsafe!

では、/lib ディレクトリからの内容をeager/autoloadするための適切な方法とスレッドセーフな方法は何ですか?

更新: /lib 構造

lib/car.rb:

lib/car/volvo.rb:

スローされるエラーはNameError (uninitialized constant Car::CAR_TYPES)

更新 2: rails c:

更新 3: 興味深いことに、Car::Volvo.new動作しますが、Car::CAR_TYPES を参照することはできません。

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

ruby-on-rails - JSON Rails API の機能テスト

私は現在、Rails/rails-api を利用した JSON API を構築しています。PATCH リクエストを介して JSON 送信を受け入れるルートと、生の request/JSON にアクセスする必要がある before フィルターがあります。

テスト目的で、フィルターの前に次を追加して、問題を表示しました。

次の curl リクエストは意図したとおりに機能します。


ただし、このメソッドのテストに失敗しました。次の呼び出しはどれも機能しません。

  • Params は含まれていますが、JSON が転送されたわけではありません

    /li>
  • Params が含まれていますが、JSON が転送されたわけではありません

    /li>
  • JSON 形式ですが、params には含まれません

    /li>
  • JSON 形式ですが、params には含まれません

    /li>

このリストはさらに長くなります。私の問題をお見せしたかっただけです。AcceptヘッダーとContent-Typeヘッダーの両方を設定してテストしましたapplication/jsonが、何も役に立たないようです。何か間違ったことをしていますか、それとも Rails の機能テストのバグですか?

0 投票する
4 に答える
3825 参照

ruby-on-rails - Rails 4 — JSON API からユーザーモデルを作成する方法は?

まず、私はレールに慣れていないので、正しく理解できないことがあれば申し訳ありません。API を介してデータ フェッチを使用してモデルを作成する方法を知りたいです。

コンテキスト: omniauth/devise で OAuth2 認証を使用しています。

ユーザー コントローラーのクライアント側 (プロバイダーの反対側) で、少なくとも 1 回ログインしたすべてのユーザーを取得したのがこの「クライアント アプリ」であり、それらを表示したいと考えています。明らかに、新しいユーザーがクライアント アプリにログインするたびに、重複を避けるためにすべての情報をクライアント データベースに保存するわけではありません。私が保存しているのは、user_id とそのアクセス トークンだけです。

したがって、すべてのユーザー データを取得した後、それらをビューに渡す前にユーザー モデルに入力できると考えていました。そのようなことを行う最善の方法は何でしょうか? 名前付きスコープを調べていましたが、特定のシナリオに適用する方法が明確ではありません。たとえば、次のようなものを使用して、モデル内のすべてのユーザーを取得できると便利です。

ご協力いただき、誠にありがとうございました。

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

ruby-on-rails - rails-api gem の更新時に POST に一致するルートがありません

これをgemファイルに追加すると( rails 4.0.1 )

ルートが壊れているようです (レーキ ルートは前後で同じですが)

単純な足場モデルを更新しようとすると、これが発生します

レコードを更新すると[POST] "/surveys/1" に一致するルートがありません

このgemをコメントアウトすることで、再び機能します-私が間違っていたアイデアはありますか?

ありがとう!

PS: これを gem ファイルに追加して、強力なパラメータを使用して Rails 4 の railscasts#196 に従うことができるようにします

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

facebook - Rails Server API でのモバイル ルートの構築

モバイル開発者が iPhone アプリに使用するためのサーバー API を構築しています。私はモバイル開発の経験がなく、彼らは Ruby on Rails の経験がありません。ユーザーが Facebook 経由でログインできるアプリのモバイル認証ルートを構築しようとしました。これまでのところ、次のようになります。

GET '/auth/mobile/fbtoken=:facebook_token&device_id=:device_id&time_zone=:time_zone&os_type=:os_type', to: 'sessions#fb_sso'

これを適切に行う方法を学習するためのオンライン リソースは非常に限られているか、存在しません。これを行う方法について私が見つけた唯一の情報は、認証にDeviseを使用することです。私たちのアプリは現在、Devise に対応しています (Devise が追加され、User モデルに移行されています) が、Devise 経由で認証することはできません。私たちがやろうとしていることについて私が見つけることができた唯一の具体的な例の 1 つは、この投稿のページの下部にあります。

https://www.ruby-forum.com/topic/4409930

最後のステップ「Devise メソッドを使用してサインイン: sign_in @user, :event => :authentication」以外はすべて同じであるため、ルートの設定方法で正しい軌道に乗っていると信じるようになりました。これが、私が Devise を私たちのアプリケーションに統合しようと試みた動機です。

それを読んだ後、私が意図したことは、Devise を一種の制限された状態で実装し、sign_in メソッドのみを使用することでした。残念ながら、Devise は非常に独断的で、「オール オア ナッシング」のようなソリューションのようです。Deviseをサポートするためにアプリケーションの大部分を完全に再構築するか、完全に放棄して独自のソリューションを実装しようとするかを決定する方法と、どのように進めるかについては非常に確信が持てません。

tl;dr 1) Devise を使用するために Rails アプリの大部分をやり直す価値はありますか? 2) このルートを Devise なしで機能させることは可能ですか? どのように?

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

html - Rails - API JSON 応答から HTML を削除する

rails-api に 500 のようなエラーが発生すると、他のすべてのリクエストが出力を json にフォーマットするにもかかわらず、レスポンスに大量の html がスローされます。

応答から html を削除する方法はありますか? 単純な 500 応答と、ログのスタック トレースは素晴らしいものです。

更新: これらのファイルをパブリック フォルダーから削除しました。

しかし、まだ応答でhtmlを取得しています。

私はそれが巻き込まれていると信じています:

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

ruby - Mongoid で Range データ型を使用する

rails-api ( https://github.com/rails-api/rails-api )で Mongoid (4.0.0.alpha2) を使用しています。

モデルのデータ型として「Range」( http://mongoid.org/en/mongoid/docs/documents.html#fields )を使用する例を探しています。

データ型が「Range」のフィールドにインデックスを作成できますか?

ありがとう