0

我是 Rails 新手,正在阅读http://guides.rubyonrails.org/getting_started.html。有一个例子,数据可以存储、编辑和删除,但任何用户都可以存储、编辑和删除。我希望存储特定于每个用户的数据,他们应该只看到他们的数据而不是其他数据。我想要一个登录过程,用户应该登录并存储他/她自己的数据并能够修改或删除。

另外,我希望这是一个 api,以便应用程序可以使用它。我怎样才能做到这一点?有没有例子?

4

1 回答 1

0

这是你一次要问的很多。这里有太多要详细解释的内容,所以我只会为您指出正确的方向。我假设您可以点击链接并自己阅读文档。有关 Ruby on Rails 的更多详细信息,请阅读Ruby on Rails 指南

您想要的一些功能可以由现有的 Ruby Gems 处理:

为了处理用户登录和注册(身份验证),建议将Devise作为目前维护最积极的 gem。

要处理用户能力和权限(授权),您可以使用CanCan

为了描述使用 CanCan 时的权限,在Ability模型中,您只需说:

def initialize(user)
  can :manage, Data, :owner_id => user.id
end

更多信息可以在CanCan wiki上找到。您需要在每个模型中添加一owner_id列。Data这应该很容易,只需在Data模型上定义一个关联。

class Data < ActiveRecord::Base
  belongs_to :owner, :class_name => :User
end

并且还迁移您的数据库

于 2012-09-05T04:59:05.703 回答