Skip to main content
Ask A Question
Notifications
You’re not receiving notifications from this thread.
Subscribe

How to post remote action and no redirect? ActionCable Series

Rails • Asked by BrandonKlotz

Trying to submit a form that has a create action in another controller but does not redirect to or render the page (just stay on the page).

Error:

MessagesController#create is missing a template for this request format and variant. request.formats: ["text/html"] request.variant: []

Form:

  = form_for [@room, Message.new], remote: true do |f| 
    .field
      = f.text_field :body, placeholder: "Message #{@room.name}", autofocus: true

Remote Controller:

class MessagesController < ApplicationController
  skip_before_action :verify_authenticity_token
  before_action :authenticate_user!
  before_action :set_room

  def create
    message = @room.messages.new(message_params)
    message.user = current_user
    message.save
    MessageRelayJob.perform_later(message)
  end

  private

    def set_room
      @room = current_user.rooms.find(params[:room_id])
    end

    def message_params
      params.require(:message).permit(:body)
    end
end

Login or Create An Account to join the conversation.

Subscribe to the newsletter

Join 31,152+ developers who get early access to new screencasts, articles, guides, updates, and more.

    By clicking this button, you agree to the GoRails Terms of Service and Privacy Policy.

    More of a social being? We're also on Twitter and YouTube.