这看起来相当直接,但我仍然无法完成
我已经安装了设计,并有用户和网站类,用户创建网站。
现在我想登录的用户看到他创建了什么网站。这是控制器代码
def index
@websites = Website.find(:all)
end
和index.html.erb是
<%= render :partial=> "website_list", :locals=> {:website => @Website} %>
我需要在控制器索引中更改什么以显示仅由登录用户创建的站点
EDIT - OK,我能够使用迁移在网站表中创建外键user_id,但user_id的值都是NIL。知道为什么吗?
编辑2 -这是我的字段
控制器dashboard_controller.rb
@websites = current_user.websites.all
website_controller.rb这是由脚手架创建的,我没有编辑任何内容
模型user.rb
has_many :websites
website.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
我不知道我错过了什么? 你可以这样做:
@websites = current_user.websites.all
试试这个:
@websites = Website.find(:all, :conditions => ['user_id = ?',current_user.id.to_s])
你可以这样做…
@websites = Website.where("client_id='101'")
我想问题是在控制器中的创建操作-您正在保存没有连接到用户的网站。