前提・実現したいこと
ruby on rails で占いアプリを作っています。
最終的には、
今日の運勢は#{@result},#{@text},ラッキーアイテムは、、#{@item}!!
みたいにしようと思っています。
今は、seeds.rbにデータを直接書き込んでデータベースに記録して、
そのデータの中からカラム別にデータ(大吉、中吉、小吉など)を取り出して、その中から1つランダムで選んで表示させたいのですが、エラーメッセージが表示されて上手く行きません。
pluckを使ってresultカラムのものを選ぶところまではできたのですが、
その後の@result = results.sampleでNoMethodErrorが出てしまいます。
発生している問題・エラーメッセージ
NoMethodError in HomeController#index undefined method ` ' for #<HomeController:0x00007fe6171cbe20> Extracted source (around line #4): 2 3 4 5 6 def index results = Home.pluck(:result) @result = results.sample end end Rails.root: /Users/makoto/uranai
該当のソースコード
seeds
1results = Home.create([{ result: '大吉'},{ result: '中吉'},{result: '小吉'}]) 2texts = Home.create([{text: '今日は何をやっても上手くいきます!'},{text: 'あなたは日本にいちゃだめ。シンガポールへ行きましょう!'}]) 3items = Home.create([{item: 'もやし'},{item: 'こだわりハチマキ'},{item: '仮想通貨'}])
controller
1class HomeController < ApplicationController 2 def index 3 results = Home.pluck(:result) 4 @result = results.sample 5 end 6end 7```### 試したこと 8 9sampleの他にwhereやpresenceなども使ってみたが全てNoMethodErrorになってしまった。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/09/07 06:37