質問: User.find_by id: 1 #JSONで受け取ると #{ id: 1, # email: 'teratail@mail.com', # created_at: '2015-12-31T00:00:00.000Z', # updated_at: '2015-12-31T00:00:00.000Z' } ``` 上記のようにcurrent_userを使わない場合は、JSONで値を受け取れます。 #### 補足情報(言語/FW/ツール) * Rails 4.2.5 * Ruby 2.2.0 * Devise 3.5.3 * devise_token_auth 0.1.36 #### 環境 * Vagrant VirtualBox * CentOS --- --- **自己解決させようと、devise_token_authというGemを使ってみたり、cookieに乗せてみることを考えましたが、上手く行きません。** **これまで独学で、周りに頼れる人もいなく、手詰まり状態です。どうか皆様のお力をお貸し下さい。**
回答: Node.jsの機能を限定的、すなわちユーザーへのプッシュの部分だけにします。 一つのエンドポイント(Rails)の機能変更が他のエンドポイント(Node)に依存するのは望ましくないからです。さらに言うとdeviseのような単体のライブラリにアプリケーション全体が振り回されるのはなおさらです。 具体的な使用方法としては、Railsが何らかのアクション(データベースへのレコード挿入など)を受け取ったら、Node.jsへプッシュのリクエストを送り、Socket.ioがクライアントにプッシュを送信、そしてクライアント側がRailsにリクエストを送信します。 一気通貫でないのでアプリケーションへのコストは増大しますが、仮にそうしたいのならNode.js単体で作成したほうが良いかと思います。