0

私のビューは基本的に多くのフィールドを作成するループです。[スコアの保存] ボタンが押されたときにすべてのフィールド値をデータベースに保存したいのですが、各フィールドのスコアにアクセスして、コントローラーの * から正しいlevel.score属性に保存するにはどうすればよいですか? save_scores* メソッド?:

<p>Found : <%= @levels.length%> levels.</p>
<h2>Score board:</h2>
<% @levels.each do |level|%>
    <%= form_for(level) do |f| %>
        <% if level.errors.any? %>
            <div id="error_explanation">
              <h2><%= pluralize(level.errors.count, "error") %> prohibited this level from being saved:</h2>

              <ul>
                <% level.errors.full_messages.each do |msg| %>
                    <li><%= msg %></li>
                <% end %>
              </ul>
            </div>
        <% end %>

        <div class="field">
          <%= f.text_field :score %>
        </div>
        <div class="actions">
          <!--<%= f.submit %>    -->
        </div>
    <% end %>

<%end%>
<%= button_to "Store Scores",
              :action => 'save_scores',
              :id =>@game
%>
4

1 に答える 1

1

本 Rails Recipe (2012) には、目的に合うと思われるレシピが 1 つあります。

レシピ 36 複数のモデルに対して 1 つのフォームを作成する

Class Recipe < ActiveRecord::Base
  has_many :ingredients
  accepts_nested_attributes_for :ingredients
end

Class Ingredient < ActiveRecord:Base
  belongs_to :recipe
end

レシピを追加

<%= form_for @recipe do |f| %>
  <%= f.label :name %> <%= f.text_field :name %>

  <%= f.label :instructions %> <%= f.text_area :instructions %>

  <%= f.fields_for(:ingredients) do |ingredients_form| %> 
    <%= ingredients_form.label :name %> 
    <%= ingredients_form.text_field :name %> 
    <%= ingredients_form.label :quantity %> 
    <%= ingredients_form.text_field :quantity %> 
  <% end %>

  <%= f.submit %> 
<% end %>
于 2013-08-11T15:35:25.083 に答える