here açıklamaları, stream_for
numaralı belgenin yalnızca bir kaydı geçerken kullanıldığını, ancak belgelerin genel olarak oldukça belirsiz olduğunu ima etmektedir. Herkes stream_from
ve stream_for
arasındaki farkları açıklayabilir mi ve neden birini diğerinden kullanırsınız?ActionCable'da "stream_from" ve "stream_for" arasındaki fark nedir?
5
A
cevap
7
stream_for
, stream_from
'un kolayca bir sarmalayıcı yöntemidir.
Belirli bir modelle ilişkili bir akışa ihtiyaç duyduğunuzda, stream_for
otomatik olarak sizin modelinizden ve kanalınızdan yayın üretir.
Diyelim ki ChatRoom
sınıfın bir chat_room
örneği olduğunu varsayalım
stream_from "chat_rooms:#{chat_room.to_gid_param}"
veya
stream_for chat_room # equivalent with stream_from "chat_rooms:Z2lkOi8vVGVzdEFwcC9Qb3N0LzE"
iki satır aynı şeyi yapar.
0
https://github.com/rails/rails/blob/master/actioncable/lib/action_cable/channel/streams.rb
neredeyse Tamam, ama önek CHANNEL_NAME bağlıdır değil modeli sınıfı.class CommentsChannel < ApplicationCable::Channel
def subscribed
stream_for article
# is equivalent to
stream_from "#{self.channel_name}:{article.to_gid_param}"
# in this class this means
stream_from "comments:{article.to_gid_param}"
end
private
# any activerecord instance has 'to_gid_param'
def article
Article.find_by(id: params[:article_id])
end
end
da basitçe kanal adını ekler stream_for
basit dize iletebilirsiniz.
İlgili konular
- 1. Python'da {} ve [] arasındaki fark nedir?
- 2. UNIX'teki $ @ ve $ * arasındaki fark nedir?
- 3. $ arasındaki fark nedir? ve PowerShell
- 4. Fark() arasındaki fark nedir mustache.js
- 5. arasındaki fark nedir?
- 6. Java arasındaki fark nedir
- 7. arasındaki fark nedir?
- 8. arasındaki fark nedir?
- 9. app.doScript ve $ .evalFile arasındaki fark nedir?
- 10. gVim ve gVim arasındaki fark nedir?
- 11. isAlpha ve isLetter arasındaki fark nedir?
- 12. Control.Enter ve Control.GotFocus olayları arasındaki fark nedir?
- 13. .got ve .got.plt bölümü arasındaki fark nedir?
- 14. AutomationProperties.AutomationID ve AutomationProperties.Name arasındaki fark nedir?
- 15. Android'de getDir ve getFilesDir arasındaki fark nedir?
- 16. R içinde `=` ve `<-` arasındaki fark nedir?
- 17. uint ve System.UInt32 arasındaki fark nedir?
- 18. PropertyChangeListener ve VetoableChangeListener arasındaki fark nedir?
- 19. XSS'de IDREF ve IDREFS arasındaki fark nedir?
- 20. Cacerts ve keystore arasındaki fark nedir?
- 21. GPLv2 ve GPLv3 arasındaki fark nedir?
- 22. VarIsEmpty ve VarIsEmptyParam işlevleri arasındaki fark nedir
- 23. ActiveSupport'ta mattr_accessor ve cattr_accessor arasındaki fark nedir?
- 24. Hashtable ve Dictionary arasındaki fark nedir?
- 25. RoutedCommand ve RoutedUICommand arasındaki fark nedir?
- 26. MySQL'deki boolean ve bool arasındaki fark nedir?
- 27. Task.Factory.FromAsync ve BeginX/EndX arasındaki fark nedir?
- 28. WideChar ve AnsiChar arasındaki fark nedir?
- 29. PHP'de 'stripcslashes' ve 'stripslashes' arasındaki fark nedir?
- 30. AxInterop ve Interop arasındaki fark nedir?
'to_gid_param' parçasının noktası nedir? Sadece chat_room _ # {{params [: chat_room_id]} 'deme? –
Sadece rastgele bir dizeyi geçerli bir boşluk olmayan dize olarak kodlamak için mi? Yoksa arkasında başka bir fikir var mı? –
'stream_for, güncellemeler istediğimiz belirli bir kayıt (veya kayıt ve ilişkilendirme) olduğunda kullanılır. Davlumbazın altında Action Cable, bu kayıt için ya da bu kayıt ve ilişkilendirmesi için benzersiz bir dizgi oluşturuyor ve daha sonra stream_for [sic - muhtemelen 'stream_from' olmalıdır] yöntemini çağırıyor. Kaynak: https://www.sitepoint.com/action-cable-ve-websockets-derinlemesine-öğretici/ –