新手问题 用 action-cable asset/js/ 里面的 coffee 接受不到 data 更新:已经找到问题所在,求大佬解答

ThanksSirAlec · 2017年11月23日 · 最后由 ThanksSirAlec 回复于 2017年12月21日 · 1206 次阅读

明确的问题:job 里面的 render(message) 方法我希望他返回一个局部视图,但是实际返回 nil 且会报错(web app 本身不会报错,但是接受不到 data),如下

asset/js/channel 下的 coffee 文件如下

job 文件如下

channel 文件如下

那个 job 是怎么调用的?是在 Sidekiq 里异步执行的吗?

gihnius 回复

job 是在模型里面 after_create_commit 调用

after_create_commit {MessageReplyJob.perform_later self}
gihnius 回复

我也有同样的问题

那问题不很明确吗?你给出 view 的代码看看呗,可能调用了 Devise 或者 Request 相关的东西, 你就拿 renderer 那句去 debug 就行啦

gihnius 回复
<div class="media" >
  <img class="d-flex mr-3" src="<%= message.user.avatar_url %>" width="64" />
  <div class="media-body">
    <strong>
      <% if message.user_id == current_user.id %>
          You said
      <% else %>
          <%= message.user.name %> said
      <% end %>
    </strong> <small class="text-muted">(<%= time_ago_in_words(message.created_at) %> ago)</small><br/>
    <%= message.body %>
   </div>
</div>

感觉没什么问题啊

楼主我也遇到了相同的问题,这个该怎么解决?

403 回复

我是在使用 cookie 的时候除了问题,我也不知道是什么问题,换成 session 就好了

ThanksSirAlec 关闭了讨论。 12月21日 13:55
需要 登录 后方可回复, 如果你还没有账号请 注册新账号