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

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

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

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

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

リストボックス

ユーザーがリストから1つ以上のアイテムを選択できるようにするGUI要素です。

コードレビュー

コードレビューは、ソフトウェア開発の一工程で、 ソースコードの検査を行い、開発工程で見過ごされた誤りを検出する事で、 ソフトウェア品質を高めるためのものです。

Q&A

解決済

1回答

377閲覧

セレクトボックスで選択した文字列を抽出したい

h2_hero_hh

総合スコア2

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

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

リストボックス

ユーザーがリストから1つ以上のアイテムを選択できるようにするGUI要素です。

コードレビュー

コードレビューは、ソフトウェア開発の一工程で、 ソースコードの検査を行い、開発工程で見過ごされた誤りを検出する事で、 ソフトウェア品質を高めるためのものです。

0グッド

0クリップ

投稿2021/03/30 08:16

前提・実現したいこと

プログラミング学習2ヶ月目ではじめてのオリジナルアプリの作成しております。

ユーザー会員情報一覧表示をしたいのですが、
現状セレクトボックス(得意科目)で選択したidの数値を抽出してしまいます。

idの数値ではなく、dataの文字列を抽出する方法をご教授いただきたいです。
※現在下記の画像のようにidの数値の『2』で抽出してしまいます。
イメージ説明

該当のソースコード

Ruby

1index.html.erb 2 3<div class='teacher-contents'> 4 <ul class='teacher-users'> 5 <% @teachers.each do |teacher| %> 6 <li class='teacher-list'> 7 <div class='profile-content'> 8 <%= image_tag teacher.image, class: "profile-img" if teacher.image.attached? %> 9 <div class='teacher-info'> 10 <div class='teacher-name'> 11 氏名:<%= teacher.name %> 12 </div> 13 <div class='teacher-subject1'> 14 得意科目:<%= teacher.subject1_id %> 15 </div> 16 <div class='teacher-pr'> 17 自己PR<%= teacher.pr%> 18 </div> 19 </div> 20 </div> 21 <div class="teacher-btn"><span>依頼</span></div> 22 </li> 23 <% end %> 24 </ul> 25</div>
homerooms_controller.rb class HomeroomsController < ApplicationController def index @comments = Comment.all @teachers = Teacher.all end def create Comment.create(comment_params) end private def comment_params params.permit(:text).merge(student_id: current_student.id) end end
subject.rb class Subject< 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: '英語' } ] end

試したこと

<%= @teacher.subject1.name %>で記述を行ったが、
エラー(NoMethodError in Homerooms#index)になる

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

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

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

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

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

winterboum

2021/03/30 09:26

modelのcodeを載せて
h2_hero_hh

2021/03/30 09:50 編集

こちらになります。 class Teacher < ApplicationRecord devise :database_authenticatable, :registerable, :recoverable, :rememberable, :validatable with_options presence: true do validates :name validates :phonenumber validates :birthday validates :image validates :university validates :department validates :pr end validates :subject1_id, numericality: { other_than: 1 } has_one_attached :image end
guest

回答1

0

ベストアンサー

Teacher に Subject への関連を定義してください。

仮に
belongs_to :subject1, class_name 'Subject', optional: true

であったなら 得意科目:<%= teacher.subject1.name %>

投稿2021/03/30 10:06

winterboum

総合スコア23360

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

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

h2_hero_hh

2021/03/30 10:31 編集

belongs_to :subject1, class_name 'Subject', optional: true こちらをTeacher.rbに記述し定義するとSyntaxErrorになってしまいます。
winterboum

2021/03/30 12:34

class_name に : 落とした belongs_to :subject1, class_name 'Subject', optional: true だけど、そのまま書かないでよ、 あなたのmodelの情報が何もないから適当に書いたのだから。 実情に合わせて
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.47%

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

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

質問する

関連した質問