質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Ruby on Rails 6

Ruby on Rails 6は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

解決済

1回答

4145閲覧

ActiveHashをビューファイルでidじゃなく対応する文字で表示させたい。

ryuya1204

総合スコア12

Ruby on Rails 6

Ruby on Rails 6は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

0グッド

0クリップ

投稿2020/10/02 02:10

ActiveHashに関しての質問になります。
現在、アクティブハッシュを用いて都道府県などのデータを作成し、選択できるように設定いたしました。
商品を出品する時にその都道府県のActiveHashを使用し、出品情報の詳細画面を確認した際に、id名だけしか表示がされずに困っています。
例えば、
都道府県 2 ではなく 都道府県 北海道
などのように記述をさせたいです。
ビューファイルが以下の記述となっております。

<div class="item-explain-box"> <span><%= "商品説明" %></span> </div> <table class="detail-table"> <tbody> <tr> <th class="detail-item">出品者</th> <td class="detail-value"><%= @item.user.nickname %></td> </tr> <tr> <th class="detail-item">カテゴリー</th> <td class="detail-value"><%= @item.category_id %></td> </tr> <tr> <th class="detail-item">商品の状態</th> <td class="detail-value"><%= @item.condition_id %></td> </tr> <tr> <th class="detail-item">配送料の負担</th> <td class="detail-value"><%= @item.delivery_fee_id %></td> </tr> <tr> <th class="detail-item">発送元の地域</th> <td class="detail-value"><%= @item.area_id %></td> </tr> <tr> <th class="detail-item">発送日の目安</th> <td class="detail-value"><%= @item.ship_days_id %></td> </tr> </tbody> </table> <div class="option"> <div class="favorite-btn"> <%= image_tag "star.png" ,class:"favorite-star-icon" ,width:"20",height:"20"%> <span>お気に入り 0</span> </div> <div class="report-btn"> <%= image_tag "flag.png" ,class:"report-flag-icon" ,width:"20",height:"20"%> <span>不適切な商品の通報</span> </div> </div> </div>

@itemはコントローラーで定義している商品情報を代入したものになります。

都道府県のidを定義したファイルの記述がこちらになります。

class Area < ActiveHash::Base self.data = [ { id: 1, name: '--' }, { id: 2, name: '北海道' }, { id: 3, name: '青森県' }, { id: 4, name: '岩手県' }, { id: 5, name: '宮城県' }, { id: 6, name: '秋田県' }, { id: 7, name: '山形県' }, { id: 8, name: '福島県' }, { id: 9, name: '茨城県' }, { id: 10, name: '栃木県' }, { id: 11, name: '群馬県' }, { id: 12, name: '埼玉県' }, { id: 13, name: '千葉県' }, { id: 14, name: '東京都' }, { id: 15, name: '神奈川県' }, { id: 16, name: '新潟県' }, { id: 17, name: '富山県' }, { id: 18, name: '石川県' }, { id: 19, name: '福井県' }, { id: 20, name: '山梨県' }, { id: 21, name: '長野県' }, { id: 22, name: '岐阜県' }, { id: 23, name: '静岡県' }, { id: 24, name: '愛知県' }, { id: 25, name: '三重県' }, { id: 26, name: '滋賀県' }, { id: 27, name: '京都府' }, { id: 28, name: '大阪府' }, { id: 29, name: '兵庫県' }, { id: 30, name: '奈良県' }, { id: 31, name: '和歌山県' }, { id: 32, name: '鳥取県' }, { id: 33, name: '島根県' }, { id: 34, name: '岡山県' }, { id: 35, name: '広島県' }, { id: 36, name: '山口県' }, { id: 37, name: '徳島県' }, { id: 38, name: '香川県' }, { id: 39, name: '愛媛県' }, { id: 40, name: '高知県' }, { id: 41, name: '福岡県' }, { id: 42, name: '佐賀県' }, { id: 43, name: '長崎県' }, { id: 44, name: '熊本県' }, { id: 45, name: '大分県' }, { id: 46, name: '宮崎県' }, { id: 47, name: '鹿児島県' }, { id: 48, name: '沖縄県' } ] end

お手数おかけしますがご確認よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

実際に試していないため正確ではないかもしれませんが、
アソシエーションを定義されているのなら、@item.area.nameで、
されていないのでしたら、コントローラーで

@area = Area.find_by(id: @item.area_id) もしくは @area = Area.find_by_id @item.area_id

のように変数を定義し、@area.nameで名前を取得するのはいかがでしょうか?

投稿2020/10/03 10:00

yukihide1188

総合スコア44

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ryuya1204

2020/10/05 04:19

返信のほど遅れてしまい大変申し訳ございません。 無事解決いたしました! ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問