0

这看起来相当简单,但我仍然无法完成

我已经安装了设计,并有用户创建网站的用户和网站类。

现在我希望登录用户查看他创建了哪些网站。这是控制器代码

def index
@websites = Website.find(:all)
end

index.html.erb 是

<%= render :partial=> "website_list", :locals=> {:website => @Website} %>

我需要在控制器索引中更改什么以仅显示由登录用户创建的站点

编辑 - 好的,我可以使用迁移在网站表中创建外键 user_id,但 user_id 的值都是 NIL。知道为什么吗?

编辑 2 - 这是我的字段

控制器dashboard_controller.rb

@websites = current_user.websites.all

website_controller.rb 这是由脚手架创建的,我没有在其中编辑任何内容

模型用户.rb

has_many :websites

网站.rb

attr_accessible :description, :url, :user_id (**I added :user_id here**)
belongs_to :user

意见

<%= render :partial=> "website_list", :locals=> {:website => @Website} %>

移民

add_column :websites, :user_id, :integer

我不确定我错过了什么?

4

4 回答 4

1

你可以使用这个:

@websites = current_user.websites.all 
于 2012-12-26T05:15:26.223 回答
0

试试这个:

@websites = Website.find(:all, :conditions => ['user_id = ?',current_user.id.to_s])
于 2012-12-26T05:22:19.760 回答
0

你可以这样做..

    @websites = Website.where("client_id='101'")
于 2012-12-26T05:23:10.017 回答
0

我想问题出在您在控制器中的创建操作中 - 您正在保存网站而不连接到用户。

于 2012-12-27T07:40:06.917 回答