Rubyでinputを使う方法を現役エンジニアが解説【初心者向け】

初心者向けにRubyでinputを使う方法について現役エンジニアが解説しています。inputとはデータなどを入力するためのHTMLの要素の一つで、お問い合わせフォームやログインフォームで使われています。テキスト入力欄、アドレス入力欄、チェックボックスなどの書き方や使い方を解説します。

TechAcademyマガジンは受講者数No.1のオンラインプログラミングスクールTechAcademy [テックアカデミー]が運営。初心者向けに解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。

Rubyでinputを使う方法について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。

そもそもRubyについてよく分からないという方は、Rubyとは何なのか解説した記事を読むとさらに理解が深まります。

 

なお本記事は、TechAcademyのオンラインブートキャンプRuby講座の内容をもとに紹介しています。

 

田島悠介

今回は、Rubyに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

Rubyでinputを使う方法について詳しく説明していくね!

大石ゆかり

お願いします!

 

目次

 

inputとは

inputとはデータなどを入力するためのHTMLの要素の一つです。属性を指定することで単純なテキストデータ以外にもemailアドレスの記入欄や複数の項目から選択することの出来るチェックボックスなどを作成することが出来ます。

Ruby on Railsでinputタグを直接既述することはなく、form_withメソッド、form_forメソッド、form_tagメソッドを利用することでHTMLで使われるinputタグを同様の記述することが出来るようになります。

form_forやform_tagは使われている場合もありますが、今後はform_withを使用できるようにバージョンアップがされています。

[PR] Rubyのプログラミングで挫折しない学習方法を動画で公開中

inputを使う場面

input要素はHTMLで使われる要素で、お問い合わせフォームやログイン時にデータ入力したい場合などで使用します。

また、フォーム以外にもテキストを入力する場面や実行ボタンなどを作成する場合にも使われます。

inputを使う方法

Ruby on Railsでinputを使用する場合は、HTMLを生成するerbファイルに記述していきます。そしてこのerbファイルの中にform_withメソッドのブロックを記述します。

<%= form_with(model: User.new) do |form| %>

<% end %>

input type=”text”と同様の記述をRuby on Railsでおこなう場合には、上記のブロックの中に、

<%= form.text_field :title %>

のように書いていきます。

type属性

type属性はHTMLと同様に用意されており、通常のテキスト入力欄はform.text_field、アドレス入力欄はform.email_field、チェックボックスはform.check_box、実行ボタンはform.submit

と、など他にも多くの属性が用意されております。

組み合わせで使う任意の属性

HTMLと同様にid属性やclass属性も使用することが出来ます。この場合にはform_withのタグ内に記述をしていきます。

<%= form_with @user, id: 'name' do |form| %>

 

実際に書いてみよう

<%= form_with(model: @user, local: true) do |form| %>
    <%= form.label :name %>
    <%= form.text_field :name %>
    <%= form.submit %>
<% end %>

まとめ

Ruby on Railsではコンパイル後にHTMLのソースがどのように生成されていくか想定しながら記述することが大事です。

Viewを想定しながら記述することが不可欠なため、HTMLのタグが不明の場合には平行して確認をしていきましょう。

筆者プロフィール

木村勇土

TechAcademyの現役メンター。

現在は行政書士事務所を運営しており、お客様にはプログラマーやフリーランサーも多い。
WordPressを中心とした自社のWebサイトの修正などを行なっている。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

 

TechAcademyでは、初心者でも最短4週間でRuby on Railsを使ったプログラミングを習得できるオンラインブートキャンプRuby講座を開催しています。

挫折しない学習方法を知れる説明動画や、現役エンジニアとのビデオ通話とチャットサポート、学習用カリキュラムを体験できる無料体験も実施しているので、ぜひ参加してみてください。