неопределенный метод `user 'для nil: NilClass в Ruby Tokbox API - PullRequest
0 голосов
/ 02 июня 2018

Я пытаюсь использовать API-интерфейс Tokbox и у меня появляется следующая ошибка:

Started GET "/en/stream" for 127.0.0.1 at 2018-06-02 18:38:57 +0800
Processing by UsersController#stream as HTML
  Parameters: {"locale"=>"en"}
  Rendering users/stream.html.erb within layouts/application
  Rendered users/stream.html.erb within layouts/application (3.8ms)
Completed 500 Internal Server Error in 34ms (ActiveRecord: 0.3ms)



ActionView::Template::Error (undefined method `user' for nil:NilClass):
    1: <%= javascript_include_tag "//static.opentok.com/webrtc/v2.2/js/TB.min.js" %>
    2: <h1>Your stream</h1>
    3: <div id="publisher"></div>
    4: Link to your stream: <%= link_to watch_url(@stream.user.id), watch_url(@stream.user.id) %>

app/views/users/stream.html.erb:4:in `_app_views_users_stream_html_erb__3447765015494674598_70186549432640'

Мой пользователь / stream.html.erb выглядит так:

 <%= javascript_include_tag "//static.opentok.com/webrtc/v2.2/js/TB.min.js" %>
    <h1>Your stream</h1>
    <div id="publisher"></div>
    Link to your stream: <%= link_to watch_url(@stream.user.id), watch_url(@stream.user.id) %>

Мой UserController выглядит следующим образом:

def stream
    @stream = User.find(params[:id]).stream
    @stream     = current_user.stream || current_user.create_stream
    gon.opentok = opentok_data(@stream)
  end

  def watch
    @stream = User.find(params[:id]).stream
    gon.opentok = opentok_data(@stream)
  end

  private

  def opentok_data(stream)
    token = OpenTokClient.generate_token(stream.opentok_session_id)
    { sessionId: stream.opentok_session_id, apiKey: Figaro.env.opentok_api_key, token: token }
  end

Моя модель пользователя имеет один поток, а моя модель потока имеет одного пользователя.Кто-нибудь знает, почему он не распознает пользователя?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...