我是 Rails 新手,正在阅读http://guides.rubyonrails.org/getting_started.html。有一个例子,数据可以存储、编辑和删除,但任何用户都可以存储、编辑和删除。我希望存储特定于每个用户的数据,他们应该只看到他们的数据而不是其他数据。我想要一个登录过程,用户应该登录并存储他/她自己的数据并能够修改或删除。
另外,我希望这是一个 api,以便应用程序可以使用它。我怎样才能做到这一点?有没有例子?
我是 Rails 新手,正在阅读http://guides.rubyonrails.org/getting_started.html。有一个例子,数据可以存储、编辑和删除,但任何用户都可以存储、编辑和删除。我希望存储特定于每个用户的数据,他们应该只看到他们的数据而不是其他数据。我想要一个登录过程,用户应该登录并存储他/她自己的数据并能够修改或删除。
另外,我希望这是一个 api,以便应用程序可以使用它。我怎样才能做到这一点?有没有例子?
这是你一次要问的很多。这里有太多要详细解释的内容,所以我只会为您指出正确的方向。我假设您可以点击链接并自己阅读文档。有关 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
并且还迁移您的数据库。