質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Q&A

解決済

1回答

2239閲覧

モーダル画面に戻りたい

awa

総合スコア34

Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

0グッド

1クリップ

投稿2019/02/09 04:16

モーダル表示している画面に戻りたいのですが、どういうロジックにすれば戻せるのかわかりません。

モーダル画面にある[確認]リンクをクリックすると、別画面に遷移します。
遷移先の画面にある[戻る]リンクをクリックすると、はじめに表示していたモーダル画面が表示されるようにしたいです。

今の実装だと、モダール画面が表示されている、裏のレイヤーの画面は表示されるのですが、
肝心のモーダル画面は表示されません。
[モーダル画面の裏にある画面を表示させる]→[モーダル画面を表示させる]という風にしたいです。
ご教示いただけませんでしょうか、よろしくお願いいたします。

実装したコード

戻るボタン

ruby

1<%= link_to "戻る", :back, class: "btn btn-primary" %>

【↓モーダル 画面↓】

モーダル画面

【↓遷移先画面↓】

遷移先画面

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

強引にやるなら

戻る際のURLに何らかのパラメータを追加する

<%= link_to "戻る", ○○_path(modal: :on), class: "btn btn-primary" %>

モーダル画面でURLにそのパラメータが付いていたらモーダルを開くように javascript で制御する

注意:モーダルに入力フォームなどがあると内容は消えます

一応パラメータに入力フォームの中身も入れてしまえば、 javascript で復元できますが、古いブラウザ等でURL文字数制限にかかったり、入力の中身が個人情報でもURLに乗るため、あまり推奨できる方法ではありません

<%= link_to "戻る", ○○_path(modal: { name: 'aaa' }), class: "btn btn-primary" %>

その他方法

そもそも、モーダルから遷移して戻るという挙動が一般的ではないです
別の画面設計を検討するのも手だと思います

  1. 「閉じる」だけ用意した別タブで開く(遷移先に戻る以外の遷移が無い場合)
  2. 追加でモーダルを開く(遷移先がモーダルで示せる情報量の場合)
  3. javascriptで既存画面を裏に隠しつつ見た目だけ画面遷移っぽくする(情報量が多い場合・難易度高め)

など

投稿2019/02/13 03:25

Ighrs

総合スコア656

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

awa

2019/02/17 15:06

ご回答ありがとうございます!
awa

2019/02/17 15:06

戻る際のURLにパラメータを追加することで無事に戻れました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問