0

RoR3 アプリケーションが 2 つあります。

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

「users/models/profile.rb」を作成しました:

class Profile < ActiveResource::Base
  self.site = "http://profiles.domain.local"
end

「profiles/models/profile.rb」には次のものがあります。

attr_accessible :name

私のプロファイルの SQL テーブルには、次の列が含まれています。

  • ID
  • 名前
  • ユーザーID

したがってProfile.create(:name => "test_name")、新しいプロファイルを実行するhttp://profiles.domain.localと、「test_name」という名前で作成されます。

明らかなセキュリティ上の理由から、「user_id」属性にアクセスできるようにしたくありませんが、「users」アプリケーションからプロファイルを作成するときにそれを設定する必要があります。

私はそれを作るために多くの方法を試しましたが、簡単な解決策を見つけることができません. おそらく、if「ユーザー」アプリケーションからの要求を満たす「プロファイル」アプリケーションの「attr_accessible」の近くのステートメントで可能です。

誰か助けてくれませんか?

4

2 に答える 2

1

アマゾンウェブサービスのようなものを試すことができます。リクエストごとに、ランダムに生成された非常に長いキーを使用します。プロファイルアプリでキーが正しいことを確認し、正しい場合は属性を更新します。

于 2011-01-11T02:20:47.677 に答える
0

解決策: 単純Profile.createに を使用せず、代わりに関連付けビルダーを使用してください。user_id属性を保護し、プロファイルのフィールドをオブジェクトが何であれuser.profiles.create!(params[:profile])自動的に設定するために使用します。user_iduser

于 2011-01-11T03:18:47.543 に答える