開始180日目 チーム開発 商品詳細情報表示 (link_toの飛ばし方、DBへの記述について)

・本日の作業、学んだこと

- if @item.brand.present?
 = link_to "#{@item.brand.name}",brand_path(@item.brand.id)

→ブランド一覧ページに飛ぶようになっている。

ルーティング→コントローラ→ビューという順で処理が行われていること

 

rails generate controller home top
→home/topに必要なファイルが作られる
※ビュー、コントローラー、ルーティングが必要となる

 

・明日の作業予定

前後ページの取得とリンク作成

 

・未解決問題

前後ページの取得とリンク作成

開始179日目 チーム開発 商品詳細情報表示 (link_toの飛ばし方、DBへの記述について)

本日の作業、学び

= form_for([@item], html: {class: "item-out"}) do |f|

 

              = f.select :sent_charge, [["送料込み(出品者負担)","送料込み(出品者負担)"], ["着払い(購入者負担)", "着払い(購入者負担)"]], {prompt: "選択してください"},required: true , class: "select_form"

              %p{id:"item_sent_charge_invalid"} 入力してください

 

・DBへは"送料込み"、"着払い"の値が飛ばされる。

 

= link_to "#{Brand.find(@item.brand_id).name}",brand_brand_group_path(@item.brand_id)

・対象のブランド名ページへリンクを飛ばせるが、@itemと同じid番号のカテゴリーしか飛ばない

 

明日の作業予定

・ブランドと前後の商品ページへのリンクを飛ばす

 

未解決問題

・ブランドと前後の商品ページへのリンクを飛ばす

→コントローラー側の記述か?

開始178日目 チーム開発 商品詳細情報表示 (link_toの飛ばし方)

・本日行った作業

= link_to "前の商品",item_path(@item.id + 1)

→次の商品ページリンクへ飛ばすことができる

 但し、これだとidが無い場合、エラーが表示されてしまう。

 

・明日の作業予定

ブランドページへのリンク作成

次の商品ページへのリンク作成

eachメソッドを使って、選択肢名を表示させる

 

・未解決問題

ブランドページへのリンク作成

→ルートの設定から問題あるか

次の商品ページへのリンク作成

→コントローラー記述とビューの記述

開始176日目 チーム開発 商品詳細情報表示 (link_toの飛ばし方)

・本日行った作業

= link_to "#{Category.find(@item.category_id).name}",category_path(@item.category_id)

 @category = Category.find(@item.category_id)をコントローラーに記述

出品しているカテゴリーの一覧ページへ飛ばすことができる

 

・明日の作業予定

ブランドページへのリンク作成、次の商品ページへのリンク作成

eachメソッドを使った

 

・未解決問題

ブランドページへのリンク作成、次の商品ページへのリンク作成

→コントローラー記述とビューの記述

開始175日目 チーム開発 商品詳細情報表示 DBからView表示(商品画像を複数DBから取り出し表示する)

・本日行った作業、学んだこと

商品画像表示

- @item.images.each_with_index do |image, url|

  = image_tag "#{image.image.url}"

※コントローラーに@item=Item.find(params[:id])を記述していると

 id内の画像を順番に取り出す

 

・明日の作業予定

商品状態、発送費の負担、
→これらの数値ではなく選択肢名を取り込む

 

・未解決問題

次の商品ページリンクの作成

→コントローラーの記述から

商品状態、発送費の負担、
→これらの数値ではなく選択肢名を取り込む

※if文を使い、それぞれのケース時、この表示と記述するしかない?

開始174日目 チーム開発 商品詳細情報表示 DBからView表示(商品画像、ブランド、URL化)

・本日行った作業、学んだこと

商品詳細ページ(URL化、ブランド名、サイズ名表示)

→if文を使って、無いときは表示しない設定にした。

  -if @item. brand.present?で続く場合の意味となる。

→画像を取り出す際、枠からはみ出る場合折り返し表示にした。

 子要素の画像横幅をautoに指定、親要素にflex-wrap: wrap;と表記することで折り返し表示となった。

→link_to " " + ””と表記することで、リンク名の後ろに文字を追記することができる。

 

・明日の作業予定

商品画像の取り出し

→1から順番に取り出したい

 

・未解決問題

商品画像の取り出し、商品画像、配送費の負担、

これらの数値ではなく文字をDBから取り込む方法

開始173日目 チーム開発 商品詳細情報表示 DBからView表示(都道府県)

Prefecture.find(@item.shipping_area).name

→コントローラー側に@item = Item.find(params[:id])と記載。

 

商品出品した際に選択した、都道府県名が表示されるようになる。

 

参考記事

https://qiita.com/Toman1223/items/8633142312bfa886d50b