Ich habe ein einfaches E-Mail-Eingabeformular auf meiner Homepage, und wenn die E-Mail des Abonnenten gespeichert wird, möchte ich sie zurückleiten und ein Bootstrap-Modal mit einigen Informationen anzeigen. Ich habe darüber nachgedacht, eine flash[:success]
an die Ansicht zu senden und dann zu sagen: "Wenn flash[:success]
, Anzeige modal", aber ich bin mir nicht sicher, was der richtige Weg ist, das modale tatsächlich auszulösen.Bootstrapmodal nach erfolgreicher Erstellungsaktion anzeigen
/controllers/subscribers_controller.rb:
def create
@subscriber = Subscriber.new(subscriber_params)
if @subscriber.save
# Send info to view (a flash?) saying to show modal
redirect_to root_path
...
Wenn es darauf ankommt:
- Die Aussicht ist /views/pages/home.html.erb.
- Wir können
subscriber-success-modal
(oder was auch immer am einfachsten ist) für die modale ID verwenden. - Wir können
subscriber_success_modal.html.erb
für die Teilansicht mit Modal verwenden.
Dies ist möglicherweise keine ideale Lösung, aber. Sie können eine Abfragezeichenfolge mit root_url wie '? modal = true' senden und dann in der Homepage JS verwenden, um die Abfragezeichenfolge present von modal = true zu prüfen und dann modal mit dem erforderlichen Code' modal.show() 'anzuzeigen. – Sajan