0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Formオブジェクトで保存したデータを表示させるには

Posted at

formオブジェクトで複数テーブルに保存したデータをページ上に表示させるのに苦労したので、忘備録として記録する。

formオブジェクトのデータを取得したい

itemテーブルとmaterialテーブルがあったとする。
二つのテーブルを組み合わせて、Item_materialクラスを定義した。

詳細ページにて、materialテーブルに保存したデータを表示するためにitemコントローラーに下記を記述した。

def show
  @item = Item.find(params[:id])
  @material = Material.find(params[:id])
end

これではダメたった。material.idが@itemと同じidを取得してしまう。
例えばitem.idが4ならmaterial.idも同じ4になる。

成功したコード

def show
  @item = Item.find(params[:id])
  @material = @item.material
end

これでいけた。この記述なら@itemが持ったmaterial情報を取得できる。

ビューへの記述は@material.カラム名でOK

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?