teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

ヒントの追記

2017/09/01 08:17

投稿

CodeLab
CodeLab

スコア1939

answer CHANGED
@@ -1,3 +1,16 @@
1
1
  方法の一つとして
2
2
  各タブを別のactionにしてはどうですか?
3
- ページ遷移したくないということであれば、ajaxで更新する方法もありますね。
3
+ ページ遷移したくないということであれば、ajaxで更新する方法もありますね。
4
+
5
+ 大体のやり方としては
6
+ 各タブを表示するためのactionを作成
7
+ タブの表示を切り替えたいタイミングで、ajax経由でそのアクションを読んでHTMLを受け取る。
8
+ 受け取ったHTMLで対象部分を書き換える。
9
+
10
+ という感じになると思います。
11
+
12
+ ポイントは、各タブのアクションで、htmlのヘッダやフッターなどの余計な部分が出ないように
13
+ ```php
14
+ $this->layout = false;
15
+ ```
16
+ という指定が必要なことです。これでレイアウトファイルが無効になるので必要な部分のHTMLだけ返すようになります。