駆け出しプログラマーの備忘録

異業種から訪れたIT業界について赤裸々トークを繰り広げる予定!                                 あ、私はプログラミングとは無縁の人生を送ってきたクソザコ野郎です٩( 'ω' )و

駆け プロ

#54 【Ruby on Rails】Railsの基本をメモ書き(link_to()・form_for()・params[: ])

54 【Ruby on RailsRailsの基本をメモ書き(link_to()・form_for()・params[: ])

f:id:momotaroch:20180406142205j:plain

Railsの基本メソッドをメモ書き

 参考書はこちら。

Ruby on Rails 5アプリケーションプログラミング

Ruby on Rails 5アプリケーションプログラミング

 

 

めちゃめちゃ難しいです。

正直Progateとネット記事読んで少しずつ理解しているような現状です。。

 

そんな中で必要なメソッドをメモがわりに落としておきます。

 

link_toメソッド

<%= link_to ( body , url [ ,html_options ] ) %>

 

これはHTMLでいうと<a href=""></a>タグになります。 

 

<%= link_to ( "トップへ" , "/home/top" ) %>

          

<a href="localhost3000/home/top">トップへ</a>

 

こんな感じで、それぞれの要素がHTMLタグを使わなくて良いのです。

これは頻繁に出てくるので必ず覚えましょう。

私はやっと理解できました。_(┐「ε:)_

 

他にもhtml_optionの箇所に属性をつけられます。

例として、

リンククリックした時に画面上に現れるやつは下記の記述。

<%= link_to 'Destroy' , book , method:  :delete , data: { confirm: 'Are you sure?' } %>

method: :delete => 消す処理をするよーってこと

data: {confirm: 'Are you sure?' } => Are you sure?って文字が現れるダイアログを表示

 

javascriptだとこんな感じかな?(文字は変えてるよ)

 (見たまま編集だとonclick=""は使えないらしい)

 

form_for/form_tagでform生成

フォーム(form) - - Railsドキュメント

▼上記サイトより抜粋したものです

f:id:momotaroch:20180509212234p:plain

 

要は、HTMLで書く<form></form>タグのことみたいです。

 

(Ruby on Railsでの書き方)

<%= form_for(@user) do | f | %>

<% end %>

          

(HTMLでの書き方)

<form action="/users" class="new_user" id="new_user" method="post">

</form>

 

 ちなみに<form></form>タグとは囲った部分のデータを飛ばせるよー。

今までのHTMLの記述

<form action = "">

  <button type="radio" value="0" name="">0</button>

  <button type="radio" value="1" name="">1</button>

  <textarea>1234512345</textarea>

  <input type="submit" />

</form>

 (▼formは外した汚いやつ)




 

上のように表示されるんだけど、Railsで記述すると・・・

<%= form_for(@user) do | f | %>

  <%= f.radio_button ( プロパティ名 , 値 [ , オプション ] ) %>

  <%= f.text_area  ( プロパティ名 [ , オプション ) %>

  <%= f.submit ( [ボタンの名前 , オプション] )%>

<% end %>

 

 

こんな感じになるらしい。(多分)

まだまだオプションや使い道はたくさんあるから参考サイト見てください。٩( 'ω' )و

 

参考サイトはこちら。

www.sejuku.net

 

最後に覚えておきたいparams

params [ :受け取るname属性]

 

postで送られる値を取得するためには params[:受け取るname属性]です。

例えば、name="content"の値を取得したいなら

params[:content]で値取得できます。

 

これは使い道がたくさんあって、

例えば、押した番号を取得して、その押した番号のデータベースを参照するには▼

(:idに押した番号が入る。Postデータベースを参照)

@post = Post.find_by ( id: params [:id ] )

 

これで@post変数には選んだ番号のデータベース情報が入っていることになるね。( ´ ▽ ` )

すごい便利だから忘れないようにしたいです。(すぐ忘れる・・・)

 

こんな感じで基本をメモとして残しておきます。

何より、貼った参考サイトがおすすめだからそっち見て欲しいっす。( ´ ▽ ` )

 

終わりじゃ

f:id:momotaroch:20180421230312j:plain

 

にほんブログ村 IT技術ブログへ
にほんブログ村