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

ThanksSirAlec · November 23, 2017 · Last by ThanksSirAlec replied at December 21, 2017 · 1257 hits

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

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

job 文件如下

channel 文件如下

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

Reply to gihnius

job 是在模型里面 after_create_commit 调用

after_create_commit {MessageReplyJob.perform_later self}
Reply to gihnius

我也有同样的问题

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

Reply to 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>

感觉没什么问题啊

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

Reply to 403

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

ThanksSirAlec closed this topic. 21 Dec 13:55
You need to Sign in before reply, if you don't have an account, please Sign up first.