我有三个模型(如下所列):用户,主题和名为Publications的联接。
我成功列出了所有用户的出版物,我正在展示出版物的user_id和thread_id。
我不想列出发布的信息,而是使用每个发布的thread_id显示每个发布的线程名称。
以下是我的用户模型:
class User < ActiveRecord::Base
devise :database_authenticatable, :registerable, :confirmable,
:recoverable, :rememberable, :trackable, :validatable
attr_accessible :email, :password, :password_confirmation,
:remember_me, :username, :profile_image,
:first_name, :last_name
has_many :publications
has_many :threads, :through => :publications
end
以下是我的出版物模型:
class Publication < ActiveRecord::Base
attr_accessible :thread_id, :user_id
belongs_to :thread
belongs_to :user
end
以下是我的主题模型:
class Thread < ActiveRecord::Base
attr_accessible :description, :name, :tag_list, :thumbnail_image, :status, :thread_type, :subtitle, :summary
has_one :publication
has_one :user, :through => :publication
end
下面是我的#index操作,在我的threads_controller.rb中:
def index
@user = current_user
@threads = @user.threads.all
@publications = @user.publications.all
end
以下是我的索引视图中的代码,其中列出了所有用户的出版物:
%table
%tr
%th Publication
%th User
%th Created at
- @publication.each do |publication|
%tr
%td= publication.thread_id
%td= publication.user_id
%td= publication.created_at
答案 0 :(得分:1)
请使用关联关系表。
%table
%tr
%th Publication
%th User
%th Created at
- @publication.each do |publication|
%tr
%td= publication.thread.name
%td= publication.user.username
%td= publication.created_at