Ruby on Rails 7.1,2 デバッグと登録フォーム

投稿者: | 2019年8月1日

Ruby on Rails 7.1,2 デバッグと登録フォームをやりました。

〇デバッグ
<%= debug(params) if Rails.env.development? =>
debug()はビルトイン.

※モデル側にもこういう仕掛けを仕込んでおいてもいいかもね。

環境変数をかえて起動
rails server –environment production
rails db:migrate RAILS_ENV=production

== == == == == == == == == == == == == == == == == == == == ==

yaml
user.attributes.to_yaml <-> y(user.attributes)
で見ることもできる。
attributesがマップだから、これを返還したものっぽい。

〇rest?
routes.rbに
resource :users
を追加する。

これだけでルーティングは有効になるらしい。

hogehoge.com/users/1
これで↓こうなる。
parameters: !ruby/hash:ActiveSupport::HashWithIndifferentAccess
controller: users
action: show
id: ‘1’

permitted: false

controllerにshowを加えてやる。
@user = User.find(params[:id])

〇debugger

debuggerを止めたいところに書くととまる。

(byebug) debug @user
#<User id: 7, name: “updateupdate”, email: “mm@localhost.com”, created_at: “2019-07-30 15:16:41”, updated_at: “2019-07-30 15:34:28”, password_digest: “$2a$10$Az2oe6MgZqeCGqgEk5k2dOONSZfG1t4IPkxhIP2dDZQ…”>

〇view側に複雑な処理を書きたくなったら
helperにメソッド定義して呼ぶ。
helperはviewとのIFくらいにしてあんまりゴリゴリかかんほうが美しいかも。

〇bootstrap
rowとかcol-md-4などのクラスがある。

〇登録フォーム
・form_forを使う。
・controller
def new
@user = User.new
end

・view
<%= form_for(@user) do |f| %>
<%= f.label :name, ‘名前’ %>
<%= f.text_field :name %>
<%= f.label :email, ‘メールアドレス’ %>
<%= f.email_field :email %>
<%= f.label :password, ‘パスワード’ %>
<%= f.password_field :password %>
<%= f.label :password_confirmation, “確認” %>
<%= f.password_field :password_confirmation %>
<%= f.submit “Create my account”, class: “btn btn-primary” %>
<% end %>

fを使って、モデルと結びついたフォームを作っている。

・submitをしたとき、サーバサイドで受け取る
httpリクエストのnameの設定箇所になる。
・モデルを渡されると部品に値をマッピングしてくれる?
(newしたてのオブジェクトが渡されると新規だと認識する)

〇form_for()のルール
http://railsdoc.com/form

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です