1

在我的应用程序中,我有一个Athlete其中有很多sports. 我正在尝试构建编辑帐户部分,用户可以在其中编辑他们玩的运动,但被卡住了。

我有一个 Join 表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 %>

我不知道如何做到这一点,以便用户可以改变他们的主要运动

4

1 回答 1

0
  1. 将@athlete 行列出到您的表中。
  2. 给每一行一个编辑链接,链接到edit_athlete_path(@athlete)
  3. 让您的Athlete表格包括他们参加的运动的字段
  4. 如果您要从表单将任何数据写入UserSport表中,则需要通过模型中的命令授予它执行此操作的权限。在这种情况下,您将需要观看有关表单中嵌套模型的 railscast 视频Athleteattr_accessible
于 2013-05-07T20:05:35.393 回答