An example on how turbo_stream is rendered:
= turbo_stream.append :messages, @message
Where :messsages is the target and @message renders the partial _message.html.haml. Then it is rendered to:
// This div will be append to element with id="messages"
7 possible Actions
def create
@message = Message.find(....)
respond_to do |format|
format.turbo_stream # renders template in: create.turbo_stream.haml
format.html { redirect_to messages_url }
end
end
Reusing server side templates inline:
format.turbo_stream do
render turbo_stream: turbo_stream.append(:messages,
partial: "messages/message", locals: { message: @message})
end
Both "partial:" and "locals:" can be replaced by @message (Great Rails code!!!).