[RUBY] Verwenden Sie eine andere Rails-Vorlagenfunktion (ERB) als Controller (Aktionsansicht).

Überblick

Rails ist praktisch, da Vorlagen mit Aktionen verknüpft werden. Aktionsansicht und ERB (Embedded Ruby). Gelegentlich möchten Sie die Vorlage möglicherweise an anderer Stelle verwenden. Ich habe es nachgeschlagen, aber ich habe nicht viele Informationen erhalten, oder es hat nicht funktioniert, als ich dachte, ich hätte es gefunden, also werde ich die Lösung als Erinnerung veröffentlichen.

Betriebsumgebung

ruby 2.6.5 rails 5.2.3

Stichprobe

Verwenden Sie es beispielsweise in Job.

Erstellen Sie eine Vorlage unter App / Ansichten (jeder Ort ist möglich).

ERB:sample.html.erb


<%= user_name %>zu

Dies ist ein Beispiel.

Als nächstes kommt Job.

send_template_job.rb


class SendTemplateJob < ApplicationJob
  queue_as :default

  def perform(*args)
    #Verwenden Sie eine Vorlage
    content = ActionView::Base.new('app/views').render(file: 'sample',
                                                       locals: { user_name: current_user.name },
                                                       layout: false)
    #Beschreibt den Vorgang des Sendens der mit der Vorlage generierten Zeichenfolge irgendwo
    #Zum Beispiel locker

  end
end

Wenn Sie so schreiben, kann die in erb als Benutzername definierte Variable erweitert und als Zeichenfolge erfasst werden.

Recommended Posts

Verwenden Sie eine andere Rails-Vorlagenfunktion (ERB) als Controller (Aktionsansicht).
Ich möchte eine andere Desinfektionsmethode als Ansicht verwenden.
Beziehung zwischen Rails Routing Controller-Ansicht
Rails 5 Code Reading Teil 2 ~ Aktionsansicht ~
Stellen Sie eine andere ID als die für das Rails-Routing ein
Andere Definitionen als die sieben grundlegenden Aktionen in Rails