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

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

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

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

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

1回答

656閲覧

カラムのデータをピンポイントで取得してviews表示したい。

hikaru-udon

総合スコア6

Ruby on Rails

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

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2021/06/29 11:27

##解決したいこと

DBに保存したデータを、一つだけピンポイントで取得して表示する方法はございますでしょうか?
今の自分では言葉での説明が難しいので、以下を参照にご教授いただければと思います。

##内容

  • コントローラー

rails

1#controller/characters_controller.rb 2class CharactersController < ApplicationController 3 4 def index 5 @characters = Character.all 6 end 7 8end
  • ビュー

html

1#views/characters/index.html.erb 2 3<%= link_to character.name, character_moves_path(character), class:"each-character" %>
  • テーブル

| id | name |
| 1 | taka |
| 2 | nao |

  • 改めて実現したいこと、補足説明

今回の場合、メソッドallで全データを取得し、そのデータの中から、nameカラムの2段目(主キー2)にあるnaoだけ取り出して、link_toのテキストとして表示させたいという形です。現状ビューではcharacter.nameで全てのnameを取り出して表示していますが、指定して一つだけ取り出したいです。こちらの表示をビューでの記述(link_toの記述方法)のみで行うことは可能でしょうか?

##最後に
この他、解決の際に必要なコード等がありましたら気兼ねなくご指定いただきたく存じます。何卒よろしくお願いいたします。

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

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

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

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

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

guest

回答1

0

ベストアンサー

その pinpoint はどう決めるのでしょう?
all で取ったときにかならず2つ目なら @characters[1].name です
ID=2のものを選ぶなら通常は controllerで@character = Character.find(2) として @character.name ですが、
ビューでの記述でのみなら @characters.find{|character| character.id == 2 }.name です
その様にきまっているわけではなく、何らかの条件式できめるのでしたら
通常はcontrollerで @character = Character.find_by(条件)、ビューでの記述でのみ なら @characters.find{|character| 条件 }.name です。

投稿2021/06/29 13:54

winterboum

総合スコア23567

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

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

hikaru-udon

2021/06/29 19:09

winterさん、ご回答ありがとうございます!お世話になってます。 なるほど!ビューの記述のみの場合はこのように書くのですね。記述したところ実現できました、本当にありがとうございます。 余談ですが、こちらのlink_toをボタンのようにしたく思っており、当初はeach doを用いて各nameを出力していました。ですが、⑴一つ一つのボタンに個別の画像を配置したい⑵ボタンを縦3列で等間隔に配置にしたい、という仕様に変更する際に今回の壁にぶち当たり、質問させていただきました。 無事解決できました、本当にありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問