我有两个RoR3应用程序:
http://users.domain.localhttp://profiles.domain.local我创建了‘user/model/profile.rb’:
class Profile < ActiveResource::Base
self.site = "http://profiles.domain.local"
end在'profiles/models/profile.rb‘中我有:
attr_accessible :name我的概要文件的SQL表包含以下列:
因此,如果我运行Profile.create(:name => "test_name"),将在http://profiles.domain.local中创建一个名为"test_name“的新配置文件。
出于明显的安全原因,我不希望访问“user_id”属性,但我需要在“用户”应用程序创建概要文件时设置该属性。
我尝试了很多方法来做,但我找不到一个简单的解决办法。也许,在“配置文件”应用程序的“attr_accessible”附近使用一个attr_accessible语句来填充来自“用户”应用程序的请求是可能的。
有人能帮我吗?
发布于 2011-01-11 02:20:47
您可以尝试类似所做的事情:对每个请求使用一个非常长的、随机生成的密钥。在配置文件应用程序中检查键是否正确,如果是,更新属性。
发布于 2011-01-11 03:18:47
解决方案:不要使用简单的Profile.create,而是使用关联构建器。保护user_id属性,并使用user.profiles.create!(params[:profile])将概要文件的user_id字段自动设置为user对象。
https://stackoverflow.com/questions/4653538
复制相似问题