2

私はこのようにプロジェクトを編成しています: ユーザーが主なリソースであり、各ユーザーには 1 つのプロファイルがあり、各プロファイルには次のように 1 つの場所があります。

 resources :users do    
    resource :profile, :controller => "profiles" do
      resource :location
end

ここで、すべてのプロファイル情報を挿入するためのフォームを作成する必要がありますが、場所情報 (住所など) も同様です。次のコードを書くと、場所は気にしません。

<%= form_for(@profile, :url=>{:action=>'update'}, :html => {:multipart => true}) do |f| %>

誰かがこの状況について何か提案がありますか?

TNX

4

2 に答える 2

5

同じフォーム内の異なるモデルにアクセスする場合は、を使用できますaccepts_nested_attributes_for。このトピックに関するすばらしいスクリーンキャストは次のとおりです。http://railscasts.com/episodes/196-nested-model-form-part-1

コードは次のようになります。

#profile.rb

accepts_nested_attributes_for :location

あなたの見解では:

<%= form_for(@profile, :url=>{:action=>'update'}, :html => {:multipart => true}) do |f| %>
   <%= f.fields_for :location do |l| %>
     //location fields here, for example:
     <%=l.text_field :city %>
   <% end %>
<% end %>
于 2011-04-11T11:07:17.067 に答える