روبي على القضبان: كيفية جمع قيم طاولات الأطفال من نموذج؟

StackOverflow https://stackoverflow.com/questions/2020673

سؤال

المرجعية السؤال رقم 2013421، لدي نماذج ROR التالية:

class Game < ActiveRecord::Base
  has_many :piles
end

class Pile < ActiveRecord::Base
  belongs_to :game
end

من أجل الحجة، لنفترض Game لديه سمة name, ، و Pile لديه سمة type, ، على حد سواء string. وبعد هناك بدقة 10 أكوام لكل لعبة.

أرغب في نموذج HTML واحد لإنشاء لعبة جديدة، مشابهة للآخر الذي تم إنشاؤه بواسطة ruby script\generate scaffold; ؛ هذا مثل:

<h1>New game</h1>

<% form_for(@game) do |f| %>
  <%= f.error_messages %>

  <p>
    <%= f.label :name %><br />
    <%= f.text_field :name %>
  </p>
  <p>
    <%= f.submit 'Create' %>
  </p>
<% end %>

<%= link_to 'Back', games_path %>

كيف يمكنني إضافة حقول إلى النموذج من أجل قراءة القيم ل Pile.type حقل لكل من 10 أكوام؟

هل كانت مفيدة؟

المحلول

يمكنك أن تفعل شيئا مثل هذا:

نموذج:

class Game < ActiveRecord::Base
  has_many :piles
  accepts_nested_attributes_for :piles
end

في النموذج الخاص بك:

 <% f.fields_for :piles do |pile_form| %>

   <%= pile_form.label :your_attribute %>
   <%= pile_form.text_field :your_attribute %>

 <% end %>

ضع في اعتبارك أن "نوع" طريقة "الطريقة الرئيسية-الكلمة الرئيسية محفوظة بواسطة activerecord لتحقيق الجمعيات متعددة الأعمدة

أ دليل جيد عن النماذج المتداخلة في القضبان

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top