🤝

共同開発備忘録リスト(場所バラバラ)🐶6/15~16

2024/06/20に公開

共同開発始まったーーー!!

毎日必死で忘れちゃいそうなので箇条書きでもいいからメモしていきます!!

#担当場所(初めてやったこと)
・devise関連
・管理者ログイン(seeds.rb)レイアウト済み
・ジャンル実装、(ラジオボタン、colection,)
  ↑↓アソシエーションして保存(ジャンル選択が商品テーブルにはないからジャンルモデルに保存)
・商品実装(status,status系の出力、税込価格出力、true出力の表示を販売中に変える)

⭐️共同開発の時は全員ホスト変更すること、⬇️
[ config.hosts.clear ]

⭐️管理者ログインの時にすること
(※管理者用上記は事前にデータベースへ登録できてれば良い)
https://note.com/yukinooffice/n/nfc3d2bd27c27
sheeds.rbに管理者用のemailとpassなど必要なものを記載
すると新規登録がいらない、そのままログインできる


問題
adminでサインインしたのに顧客のHOMEに飛んでルーティングエラーが出る。
👇
after_sign_in_path_forは、Deviseの初期設定ではroot_pathになっています。
サインイン後にルートパスに遷移していたのはこのためです。(顧客とか管理者関係なし)

adminのsessions.controller
 def after_sign_in_path_for(resource)
    admin_path
  end

  def after_sign_out_path_for(resource)
    new_admin_session_path
  end

上記のような記述をすることで、初期設定を上書きすることができます。


each文で出力しているものを税込価格に。

税込価格にその場で計算?と思っていましたが違いました!!
税抜き価格(今回はカラム名price)

対象モデル
def with_tax_price
  return (price*1.1).floor 
end 
対象のview
<%= @item.with_tax_price %>

と出すだけ!!
ちなみに100の値で[ , ]をつけたいときは、number_with_delimiterメソッドを使う!!

<%= number_with_delimiter(@item.with_tax_price) %>

これで税込価格を表示できる!!

each文でture/falseの結果を出して、かつ表記を変えたい時!

<% if @item.is_active %>
  <span style="color: green;">販売中</span>
<% else %>
  <span style="color: gray;">販売停止</span>
<% end %>

色は完全な+aです🧡


嬉しかった実装できたこと🐥(日記)

商品登録の時にジャンル選択ボタンが必要になって調べて作れた!!🥴ってなって、、、ん?待てよ?
これアソシエーションしてるからさ、保存できんくね??となりまして、
ジャンル先作らなあかんくね??となり、、調べて作れた!!!(え、凄ない??)やったー!!!、、、ん?待てよ?
名前登録しただけやのに、これでnewページの選択ボタンと紐づいてる??絶対そんなわけないわな😇と思い
調べたらそりゃー当たり前ですけどできるわけない🤪色々調べたけど分からず遂にメンター様に質問しました。

⭐️選択ボタンとアソシエーションしているモデルのテーブルを紐づける方法

ズバリ!
[ collection_select ]を使う!!。。。。ほぉ??

まずは自分で作成したコード
<%= f.select :genre, ['ケーキ', '焼き菓子', 'プリン','キャンディ'], {include_blank: '---'},class: "form-control form-control-sm" %>

(当時の私)名前打って表示されてやったーてなってたけど、これジャンル増えた時に毎回自分で名前打たなあかんしそもそも紐づいてなくね?普通に考えてidいるくね???

解答コード
<%= f.collection_select :genre_id, @genres, :id, :name %>

#解説

▶︎:genre_id→ 関連付けられたオブジェクトの外部キー(増えたら選択肢も増えてくれる!凄)
▶︎@genres→ どこに渡すか。(対象のモデル記載)
▶︎:id→ 選択肢に何を持ってくるか。
▶︎:name→ 選択肢の表示テキスト(これないと1とか2とかで分からん笑)

最近少しずつ自分で考えてそれが当たってたりすることが増えて本当に嬉しい!!!

Discussion