如何使用Rail的ActionCable访问ActiveRecord模型?


class NoteChannel < ApplicationCable::Channel
  def save_note(data)
    note = current_user.notes.find(data[:id])
    note.content = data[:content]
    note.save!
  end
end

接收消息并正确填充了数据参数。但是,DB中对note的更改并未持续。我是否误解了动作效果?

我无法通过ActionCable访问MySQL数据库中存储的ActivereCord模型?

确定,代码通常很好。我在本地使用PUMA作为Web服务器,并且不会像rails s一样在控制台中显示错误消息。

相反,我不得不拖延开发日志以查看错误: tail -f log/development.log

事实证明,在这种情况下,错误是404。我应该访问哈希键作为字符串而不是符号:

note = current_user.notes.find(data["id"])

最新更新