如何识别current_user以发送数据(ActiveCable)

时间:2017-06-02 19:30:20

标签: ruby-on-rails ruby coffeescript

我想知道是否可以将current_user方法用于我们发送数据的咖啡文件中?

就我而言,我正在创建一些群组。我制作了两个容器来区分你和其他人。所以我试图在收到的函数中创建一个条件。但我不知道该怎么做(你可以在下面的代码中看到其中一个尝试)。

因此,如果您有解决方案,那就太棒了!

我的代码:

Views(index):带有两个容器

<div class="col-sm-12"> 
  <div class="container">
    <h1 style="text-align:center; margin-bottom: 30px; margin-top: 10px;">Your groups</h1>
    <div id="groups_area">  
    </div>
  </div>

  <div class="container">
    <h1 style="text-align:center; margin-bottom: 30px; margin-top: 10px;">Other groups </h1>
    <div id="groups_out_area">     
    </div>
  </div>
</div>

咖啡文件:

 received: (data) ->
    if data.group.admin_id == current_user.id
      $('#groups_area').append(data.group)
    else 
      $('#groups_out_area').append(data.group)

我是否必须在ActionCable文件中捕获它?正如你在这里看到的,我试图在speak方法中捕获它,但它不是真正的逻辑

class GroupsChannel < ApplicationCable::Channel
  def subscribed
    stream_from "groups"
  end

  def speak(data)
    group = Group.create(name: data['group'], company_id: current_user.company_id, admin_id: current_user.id)
    user_group = GroupsUser.create(user_id: current_user.id, group_id: group.id)
    html = ApplicationController.render(partial: 'groups/group', locals: {
      group: group
    })

    ActionCable.server.broadcast 'groups', group: html
  end 

end

0 个答案:

没有答案