Javascript AJAX/Pusher在Rails应用程序中工作不正常

Javascript AJAX/Pusher在Rails应用程序中工作不正常,javascript,ruby-on-rails,ruby,ajax,Javascript,Ruby On Rails,Ruby,Ajax,我正在实现与Pusher和RubyonRails的实时聊天 我使用这个表单向我的MessageController发送AJAX请求,在MessageController#create中,它通过运行create.js和Pusher触发一些通道来响应这个调用 // show.html.erb <%= form_for Message.new, :remote => true do |f| %> <%= f.text_fi

我正在实现与Pusher和RubyonRails的实时聊天

我使用这个表单向我的MessageController发送AJAX请求,在MessageController#create中,它通过运行create.js和Pusher触发一些通道来响应这个调用

// show.html.erb

<%= form_for Message.new, :remote => true do |f| %>
                           <%= f.text_field :content, id: 'new_message' %>
                           <%= f.hidden_field :conversation_id, :value => @conversation.id %>
                           <%= f.hidden_field :user_id, :value => current_user.id %>
                           <%= f.submit "Send" %>
                         <% end %>

// MessageController.rb

    def create
            @message = Message.create(content: params[:message][:content], user_id: params[:message][:user_id])
            conversation = Conversation.find(params[:message][:conversation_id])
        conversation.messages << @message
            Pusher['some-channel'].trigger('my_event', {
          message: @message
        })
        end


// create.js.erb

var pusher = new Pusher('PUSHER KEY');
var channel = pusher.subscribe('some-channel');
  channel.bind('my_event', function(data) {
    alert(data.message);
    $(".chats").append("<%= escape_javascript render(@message) %>");

});
$("#new_message")[0].reset();
//show.html.erb
真do | f |%>
@会话id%>
当前用户id%>
//MessageController.rb
def创建
@message=message.create(内容:params[:message][:content],用户\u id:params[:message][:用户\u id])
conversation=conversation.find(参数[:message][:conversation\u id])

对话,Burak,我现在也面临同样的问题。你能解决你的问题吗?create.js.erb版本工作正常吗?我的意思是,我也想使用可重用的消息部分,但在web上只看到json版本。我确实解决了它,但实际上不确定如何解决:p但它是关于频道订阅的。如果在加载ajax后使用动态订阅频道,它会多次连接到频道或多次创建pusher对象,我不确定哪一个是正确的。并且create.js.erb版本运行得很好,但是我对它不满意,稍后将对其进行更改,转向更基于JSON的方法。无论如何,如果您需要更多详细信息,请联系我burakozmen@outlook.com.Burak,我要尽快发邮件!THXHey Burak,你能帮我做这个吗?