0
我想創建一個回調,當創建一個關聯的記錄時發送我的ActionCable廣播。活動記錄中的自我回復返回零關聯?
after_save :broadcast_connection_open_to_room
before_destroy :broadcast_connection_close_to_room
private
def broadcast_connection_close_to_room
ActionCable.server.broadcast(
'room_' + self.room_id.to_s,
state: "exit",
connection_id: self.id,
)
end
def broadcast_connection_open_to_room
ActionCable.server.broadcast(
'room_' + self.room_id.to_s,
state: "enter",
connection_id: self.id,
html: ApplicationController.render(partial: "connections/connection", locals: {connection: self})
)
end
我的摧毀後按預期工作。然而,當after_save運行時,我的部分拋出未定義的方法`用戶名'爲零:NilClass當它嘗試呈現我的部分。
%li.list-group-item{id: "connection_" + connection.id.to_s}
%h4.list-group-item-heading.text-left= connection.user.username
%div.text-left
.pull-right.vcenter
%span Mute Player
%span.glyphicon.glyphicon-volume-off
連接本身不是零。但是,當部分引用關聯的用戶記錄時,它會遇到麻煩。
爲什麼會發生這種情況,我該如何解決這個問題?
我試過爲好,但它產生相同的結果。 –
'%h4.list-group-item-heading.text-left = User.find(connection.user_id).username'? – Jeff