Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何将登录用户创建的帖子显示给他?_Ruby On Rails_Ruby On Rails 3 - Fatal编程技术网

Ruby on rails 如何将登录用户创建的帖子显示给他?

Ruby on rails 如何将登录用户创建的帖子显示给他?,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,这看起来相当直截了当,但我仍然无法完成 我已经设计安装,并有用户和网站类,用户创建网站 现在,我希望登录用户查看他创建了哪些站点。这是控制器代码 def index @websites = Website.find(:all) end index.html.erb是 <%= render :partial=> "website_list", :locals=> {:website => @Website} %> 网站_controller.rb 这是由脚手架创建

这看起来相当直截了当,但我仍然无法完成

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

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

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

<%= render :partial=> "website_list", :locals=> {:website => @Website} %>
网站_controller.rb 这是由脚手架创建的,我没有编辑任何内容

模型 user.rb

website.rb

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

我不确定我错过了什么

您可以使用:

@websites = current_user.websites.all 
试试这个:

@websites = Website.find(:all, :conditions => ['user_id = ?',current_user.id.to_s])

你可以这样做

    @websites = Website.where("client_id='101'")

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

您好,收到此错误-“Mysql2::error:where子句中的未知列“websites.user\u id”:从
网站
网站
网站
网站
用户id
=1”中选择
网站
,我想我需要创建外键,你能告诉我怎么做吗?好的,我可以使用迁移在websites表中创建外键user_id,但是user_id的值都是零。知道为什么吗?在任何时候,您都可以在Controller中使用当前的用户网站。实际上,在网站表中并没有用户id列。Rails插件自行设计来处理这个问题。请查看更多详细信息。我仍然无法显示网站列表,看起来我做的一切都是对的!websites表中的user_id列用NULL填充,当我手动将NULL更改为某个用户id时,代码会显示网站列表。我已经在上面的问题中添加了更多的信息,你能调查并找出可能的问题吗?感谢您要显示当前用户的网站,您应该在网站\u控制器中更改创建操作。像这样=>@website=current_user.websites.new(params[: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'")