rails f.select について

<%= form_for(cat) do |f| %>
 <%= f.label :feed_id %>
    <%= f.select :feed_id, Feed.all.map{|i| [i.name, i.id] } %>

Paizaの動画教材の中
このように記載すると、なぜ下記のように表示されるのか? f:id:happy_teeth_ago:20180910115526p:plain:w300 mapで要素を2つ渡しているだけに見える。
まず前提知識としてHTMLのselect

<form action="cgi-bin/formmail.cgi" method="post">
<p>血液型:<br>
<select name="blood">
<option value="A">A型</option>
<option value="B">B型</option>
<option value="O">O型</option>
<option value="AB">AB型</option>

f:id:happy_teeth_ago:20180910115850p:plain:w300

参照サイト

<SELECT>-HTMLタグリファレンス

HTMLでは、selectの中身がoptionで表示される。

このように記載すると

<%= f.select :name, [["Railsの基礎", "rails_base"], ["Rubyの基礎", "ruby_base"]] %>

このようなHTMLが出力される
表示されるものと,valueのセットで渡すようだ

<select id="page_name" name="page[name]">
<option value="rails_base">Railsの基礎</option> 
<option value="ruby_base">Rubyの基礎</option>
</select>

railsのルール

name属性はそのままparamsのキー(シンボル)になる。

<form ...>
  <input type="text" name="text1" />
  <input type="submit" name="btnPost" value="投稿する">
</form>

これをViewからPostすると,paramsの中身はこうなります。

{
  :text1 => "入力された内容",
  :btnPost => "投稿する"
}