2017-04-30 77 views
0

我目前正在關注官方Rails ActionCable guideRails Actioncable - 訂閱的正確位置?

它建議建立在app/assets/javascripts/cable/subscriptions/channelname.coffee訂閱(App.cable.subscriptions.create{...})的文件 - 但是當我用命令rails g channel channelname methodname它會在app/assets/javascripts/channels/channelname.coffee

我也一直在關注這個guide at nopio相應的文件,指出它應該是一個JavaScript文件 - app/assets/javascripts/channels/channelname.js

我正在使用Ruby 2.3.3和Rails 5.0.2。哪個地方和哪個文件類型是正確的? 感謝您的幫助! :)

回答

0

它只是一兩個字符串的代碼。爲什麼要使用該特殊文件。我用的反應,只是把它放在我的通知組件:

class Notifications extends React.Component { 
    constructor(props) { 
    super(props); 
    this.subscribeNofications() 
    } 

    subscribeNofications =() => { 
    this._notificationChannel = App.cable.subscriptions.create(
     { channel: "NotificationsChannel", room: this.getUserChannel() }, { 
     received: this.showNotification 
    }) 
    } 

    showNofication = (data) => { 
    alert(data.message) 
    } 
} 

所以要根據您的應用程序把它作爲一般的代碼。