首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails中使用ActiveResource的条件‘ActiveResource’

Rails中使用ActiveResource的条件‘ActiveResource’
EN

Stack Overflow用户
提问于 2011-01-11 02:18:10
回答 2查看 945关注 0票数 0

我有两个RoR3应用程序:

  • http://users.domain.local
  • http://profiles.domain.local

我创建了‘user/model/profile.rb’:

代码语言:javascript
复制
class Profile < ActiveResource::Base
  self.site = "http://profiles.domain.local"
end

在'profiles/models/profile.rb‘中我有:

代码语言:javascript
复制
attr_accessible :name

我的概要文件的SQL表包含以下列:

  • id
  • name
  • user_id

因此,如果我运行Profile.create(:name => "test_name"),将在http://profiles.domain.local中创建一个名为"test_name“的新配置文件。

出于明显的安全原因,我不希望访问“user_id”属性,但我需要在“用户”应用程序创建概要文件时设置该属性。

我尝试了很多方法来做,但我找不到一个简单的解决办法。也许,在“配置文件”应用程序的“attr_accessible”附近使用一个attr_accessible语句来填充来自“用户”应用程序的请求是可能的。

有人能帮我吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-01-11 02:20:47

您可以尝试类似所做的事情:对每个请求使用一个非常长的、随机生成的密钥。在配置文件应用程序中检查键是否正确,如果是,更新属性。

票数 1
EN

Stack Overflow用户

发布于 2011-01-11 03:18:47

解决方案:不要使用简单的Profile.create,而是使用关联构建器。保护user_id属性,并使用user.profiles.create!(params[:profile])将概要文件的user_id字段自动设置为user对象。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4653538

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档