前提・実現したいこと
現在、railsにてSNSの作成を行なっていますが
わからない点があったので質問させていただきます。
https://teratail.com/questions/11827
こちらを参考にしていますが
複数モデルを統合(or参照)し、共通したカラムであるcreated_atで並び替えてviewに表示したいと思っていますが
やり方が分からず、質問させていただきました。
該当のソースコード
rails
1 def index 2 @posts = Post.all.order(created_at: :DESC) 3 @articles = Article.all.order(created_at: :DESC) 4 end
Articleモデルは タイトル、コンテンツ、作成時間、アップデート時間を持ち合わせており Userモデルとhas_manyの関係性です。 Postモデルは テキスト、作成時間、アップデート時間を持ち合わせており これもまたUserモデルとhas_manyの関係性です。
試したこと
もし片方だけや一混ぜずに一覧で出すのであれば
html
1<% @posts.each do |post| %> 2 <%= post.content %> 3<% end %> 4<% @articles.each do |article| %> 5 <%= article.content %> 6<% end %>
で良いと思うのですが、私が行いたいのは
新 ブログ 16:20 呟き 16:19 呟き 16:15 ブログ 16:14 呟き 16:10 古
という共通しているカラムで並び替えをし、表示することです。
上記のURLaの内容がやりたことと全く同じだったのですがで行なってみた結果
concatがエラーで引っかかりました。
NoMethodError (undefined method `concat' for #<Post:~~~
その後concatについて調べていたら複数と結合させるには向いてないことも分かりました。
補足情報(FW/ツールのバージョンなど)
rails 5.0.7
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。