前提・実現したいこと
Ruby on Railsで、データベースからレコードを取得してデータをビューに表示する実装をしています。そんな中、取得したデータをビューに表示できないので質問いたしました。
Contorollerで@meigenという変数を定義しており、その変数にデータベースから取得した値を代入して、ビューで@meigenのbodyプロパティの値を出力したいと思っています。
発生している問題・エラーメッセージ
NoMethodError in Post#random undefined method `body' for #<Meigen::ActiveRecord_Relation:0x00007f859864eab8>
該当のソースコード
####Contoroller
class PostController < ApplicationController def view end def random @meigens = Meigen.order("RANDOM()") end end
View
rails
1<p class="center"> 2 <%= @meigens.body %> 3 </br> 4 by<%= @meigens.person %> 5 </br> 6 </br> 7
テーブルの内容
class CreateMeigens < ActiveRecord::Migration[5.2] def change create_table :meigens, :id => false do |t| t.string :id t.text :body t.string :person t.string :type t.timestamps end end end
model
class Meigen < ApplicationRecord attr_accessor :body def initialize(body) @meigens = body end end
試したこと
Googleで数回検索しましたが、適当な解決策が見つかりません。
@meigenにレコードが代入されているので、@meigenにbodyプロパティを使って@meigen.bodyと書けばbodyの値が出力されると思ったのですがエラーが起きて詰んでいます...
アクセスメソッドが原因な気がするので調査中です...
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/12/05 07:47 編集