Rails:使用不同的控制器从数据库调用条目

时间:2011-12-08 15:02:57

标签: sql ruby-on-rails ruby database

我对rails上的ruby相当新,所以我正在尝试创建一个简单的网站。

我基本上有一个带有3个表的sqlite数据库 - 用户,项目和类别。我创建了用户身份验证系统

我正在尝试创建网站,以便用户可以登录并添加属于某个类别的项目,然后将其转到用户帐户的索引,以便他们查看特定用户添加的项目。

我已经使用has_many和belongs_to连接了具有类别的项目,但我无法弄清楚如何将项目与创建它的用户相关联。

之后,我无法弄清楚如何仅列出当前登录用户创建的项目。

简而言之,我不知道如何在数据库表2的索引中调用数据库表1(控制器1)中的项目

1 个答案:

答案 0 :(得分:0)

您需要在项目和用户之间执行与项目和类别相同的关系。

belongs_to :category
belongs_to :user

并且您的item表需要同时包含category_id和user_id列。

显然,您的用户模型还需要像您的类别模型一样声明has_many :items

然后在ItemsController索引操作中,只需设置@items = current_user.items即可。显然,用您设置的任何方法替换current_user以了解当前登录用户的身份。