2013-05-07 60 views
1

在我的應用程序中,我有一個Athlete,它有很多sports。我正嘗試構建編輯帳戶部分,用戶可以在其中編輯他們所播放的運動,但被卡住了。Rails 3編輯加入表格屬性

我有一個加入表UserSport,它的字段爲athlete_id, sport_id, primary。這是我的觀點:

 <% @athlete.user_sports.each do |user_sport| %> 
     <% if user_sport.primary? %> 
      <div class="row"> 
      <label>Primary Sport:</label> 

      <%= f.semantic_fields_for :user_sports do |builder| %> 
       <%= builder.select :sport_id, Sport.all.collect { |sp| [sp.name, sp.id] }, { include_blank: "Choose One", selected: user_sport.sport_id }, { class: "chosen field autosave primary-sport-select", :"data-form-selector" => "#athlete-form", id: "primary-sport-select" } %> 
      <% end %> 
      <div class="cl">&nbsp;</div> 
      </div> 
     <% else %> 
      <div class="row"> 
      <% if @athlete.user_sports.many? %> 
      <label>More Sports</label> 
      <% else %> 

      <% end %> 
      </div> 
     <% end %> 
     <% end %> 

我不知道如何讓這個用戶可以改變他們的主要運動

回答

0
  1. 列表中@athlete行插入表中。
  2. 給每行一個鏈接到edit_athlete_path(@athlete)
  3. 讓你Athlete形式包括場(個),他們玩什麼運動
  4. 如果你從的任何數據寫入到UserSport編輯鏈接Athlete表單,您需要通過您的模型中的attr_accessible命令授權。在這種情況下,你會想要去觀看railscast視頻約nested models in forms
+0

的新體育的添加工作...它真的編輯了當前存在的那些,主要是編輯運動員的主要運動 – dennismonsewicz 2013-05-07 20:15:05

+0

如此,在編輯表格的控制器中,對於他們列出的每項運動,顯示一個字段。此外,這些領域的每一個領域都應該有一個單選按鈕連接到世界各地,說明哪一個是主要的。 – Kristian 2013-05-07 20:42:16