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

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

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

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

Ruby

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

Ruby on Rails

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

Q&A

解決済

1回答

1372閲覧

【Ruby on Rails】リクエストを送信するとき、form_withかlink_toか

soft_admin

総合スコア63

Ruby on Rails 5

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

Ruby

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

Ruby on Rails

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

0グッド

0クリップ

投稿2019/12/24 14:50

railsについて色々調べていると、form_withでリクエストを送信するときと、link_to(aタグ)で送信しているパターンがありました。
form_withは分かりますが、画面遷移以外(ajaxなど)でリンクで送信するのはいかがなものなのでしょうか?
理由や使い分けなどを教えてください。

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

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

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

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

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

guest

回答1

0

ベストアンサー

どちらで送っても送られるデータは
host/hoge/bar か host/hoge/bar?param=data&param2=data2
のどちらかの形式です。サーバにとってはどちらでも同じ。
view作製者にとっては
paramが沢山ある場合はそれらを集めてparamを組み立ててくれる form が楽
paramがないか1,2だ、とか 一つの画面であの場合とこの場合ではparamが異なる
という場合(一覧からの削除とか詳細表示とか)はlink_toを使う

というだけのことでは?

なにか不自然に感じるlinkの使い方を感じたのでしたら、具体的な例を上げていただけますか

投稿2019/12/24 21:07

winterboum

総合スコア23331

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

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

soft_admin

2019/12/25 00:21

一覧があり、そのレコードひとつひとつに「編集」リンクと「削除」リンクがあり、編集リンクは普通に編集画面に遷移するリンクだったのですが、削除リンクはクリックするとjsの確認ダイアログが表示されて、OKを押すと画面遷移をせずに指定したレコードを削除するというものでした。 aタグは「画面遷移」という認識が強かったので疑問に思いました。
winterboum

2019/12/25 00:32

確認ダイアログはサービスのためにJSでつけているもので、それなしでも削除に飛べます。単なる画面遷移ですと GET リクエストですが DELETEリクエストになる、という違いだけです。 *編集、詳細も「編集画面に移ってよいですか?」という確認ダイアログをつけることもできます。そうした場合は aタグでは不自然ですか? *一覧からの削除で、aタグを使わないとしたら、どういう方法がありますか? 言いたいことは回答に書いたように、 「何で書こうと 送られるのはパラメータ付きのURL。実装しやすい方法で良いじゃない。」
soft_admin

2019/12/25 11:34

ありがとうございます!上手く使っていきます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問