Javascript AJAX/Pusher在Rails应用程序中工作不正常
我正在实现与Pusher和RubyonRails的实时聊天 我使用这个表单向我的MessageController发送AJAX请求,在MessageController#create中,它通过运行create.js和Pusher触发一些通道来响应这个调用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
// 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,你能帮我做这个吗?