### 前提・実現したい
「社内で使う指示・連絡用のアプリ」を作っています。
やろうとしている事
店長(user)から社員(staff)に指示を送る際
ドロップダウンで指示を出す社員の名前(staff)を入れ
指示内容(comment)を入力し投稿すると
店長は自分の送った指示一覧を
社員は自分宛てに届いたコメントを閲覧できるようにしたいと思っています。
発生している問題
自分宛てに届いた指示の一覧を見ようとしました。
自分宛てなのでif文を使い
staffとnameが合致したらコメントを表示するようにしてみた所(micropost.staff == user.name)
エラーが出て進めなくなりました。
ソースコード
migrate/microposts
rails
1class CreateMicroposts < ActiveRecord::Migration[5.2] 2 def change 3 create_table :microposts do |t| 4 t.string :comment 5 t.references :user, foreign_key: true 6 t.string :staff 7 8 t.timestamps 9 end 10 end 11end
migrate/users
rails
1class CreateUsers < ActiveRecord::Migration[5.2] 2 def change 3 create_table :users do |t| 4 t.string :name 5 t.string :email 6 t.string :password_digest 7 8 t.timestamps 9 end 10 end 11end
views/microposts/index
rails
1<h1>自分宛ての指示</h1> 2 3<ul> 4 <% @microposts.each do |micropost| %> 5 <% if micropost.staff == user.name %> 6 <li><%= micropost.comment %></li> 7 <% end %> 8 <% end %> 9</ul>
試したこと
microposts_controller
rails
1 def index 2 @microposts = Micropost.all 3 @user = User.find(params[:id]) 4 end
controllerでのデータが上手く取れてない?のかなと思い
サイトを巡ってみてjoinsメソッドという物を見つけました。
@user = User.find(params[:id])の所を
@microposts = Micropost.joins(:user)と変えてみたのですがそれもエラーが出
手詰まりな感じがしてきたので質問してみます。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/12/05 03:00 編集
2019/12/05 04:00
2019/12/09 00:33