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

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

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

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

Ruby on Rails

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

1回答

1491閲覧

form_tagメソッドと<textarea name=""></textarea>の違い

退会済みユーザー

退会済みユーザー

総合スコア0

Ruby

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

Ruby on Rails

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2019/02/05 10:12

今、progateのRuby on Rails5 Ⅳ 「編集機能を完成させよう」をやっています。
そこでform_tagメソッドと<textarea name=""></textarea>が出て来るのですが、イマイチ違いがわかりません。

form_tagメソッドは、フォームに入力されたデータを指定したURLに送れるというもの。

<textarea name="">は、<textarea>タグにname属性を指定すると、入力データを送信することができるというもの。 共に入力されたデータを送っているのですがそれぞれ何が違うのでしょうか。以下、該当コードです ```ここに言語を入力 <div class="main posts-new"> <div class="container"> <h1 class="form-heading">編集する</h1> <%= form_tag("/posts/#{@post.id}/update") do %> <div class="form"> <div class="form-body"> <textarea name ="content"><%= @post.content %></textarea>
<input type="submit" value="保存"> </div> </div> <% end %>
</div> </div> ```

コントローラはこうなってます

def update @post = Post.find_by(id: params[:id]) @post.content = params[:content] @post.save redirect_to("/posts/index") end

個人の考え

個人的にはこれで編集内容が送信されると思ったのですが

<div class="main posts-new"> <div class="container"> <h1 class="form-heading">編集する</h1> <%= form_tag("/posts/#{@post.id}/update") do %> <div class="form"> <div class="form-body"> <textarea ><%= @post.content %></textarea> <input type="submit" value="保存"> </div> </div> <% end %> </div> </div>

結果は /posts/1 と表示されるだけでした。

<textarea>に入力されたデータが送信されてない? form_tagメソッドは、フォームに入力されたデータ(<%= form_tag("/posts/#{@post.id}/update") do %> ~ <% end %>の間の事)を指定したURLに送れるのでは? そもそも「form_tagメソッドは、フォームに入力されたデータを指定したURLに送れる」のフォームってなんの事を指しているのでしょう? 試しにform_tagメソッドだけ記述してみるとフォームなんて表示されてませんでした。 <textarea>を記述すると入力フォームが表示されました。 <textarea name="">が入力フォームに入力された内容を送信するなら、form_tagメソッドはいったい何を送信しているのでしょうか? それぞれ何を送信して何が違うのかご教授お願いします。

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

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

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

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

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

guest

回答1

0

そもそも「form_tagメソッドは、フォームに入力されたデータを指定したURLに送れる」のフォームってなんの事を指しているのでしょう?

HTMLの<form>を生成しています。

投稿2019/02/05 10:23

編集2019/02/05 10:38
maisumakun

総合スコア145183

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

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

s8_chu

2019/02/05 10:30

途中で回答文が途切れているように見えますが、いかがでしょうか。
maisumakun

2019/02/05 10:38

途切れているのではなく、余計な文字が入っていました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問