Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // 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-channels');
- channel.bind('my_event', function(data) {
- $(".chats").append("<%= escape_javascript render(@message) %>");
- });
- $("#new_message")[0].reset();
- var has_run = false;
- if (has_run === false) {
- has_run = true;
- var pusher = new Pusher('PUSHER KEY');
- var channel = pusher.subscribe('some-channels');
- channel.bind('my_event', function(data) {
- $(".chats").append("<%= escape_javascript render(@message) %>");
- });
- $("#new_message")[0].reset();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement