내 앱에는 그룹스에 속해 있으며 게시물을 작성할 수있는 사용자가 있습니다.레일에 그룹별로 게시물을 가져 오기
각 그룹 페이지에서 해당 그룹의 모든 게시물 (가장 오래된 것부터 가장 오래된 것)을 표시하려고합니다. 이것은 지금까지 시도한 코드이지만 사용자가 속한 그룹에 관계없이 모든 사용자가 모든 게시물을 표시합니다.
class GroupsController < ApplicationController
def show
@group = Group.find(params[:id])
if logged_in?
@feed_items = Post.latest_posts_by_group(@group)
end
end
end
그리고 post.rb
에 : 여기
groups_controller.rb
의
이
class Post < ActiveRecord::Base
belongs_to :user
def self.latest_posts_by_group(group_id)
Post.find_by_sql(['select posts.*
from groups
inner join users
on users.group_id = groups.id
inner join posts
on posts.user_id = user_id
where groups.id = ?
order by created_at desc', group_id])
end
end
user.rb
(물론, 적어도 협회) : 다시
class User < ActiveRecord::Base
belongs_to :group
has_many :posts
end
group.rb
가 (단지를 보여주는 협회) :
class Group < ActiveRecord::Base
has_many :users
end
당신이 모델 사이의 관계를 공유 할 수 있습니다 더 참고로
? – vee