روبي على القضبان: كيفية جمع قيم طاولات الأطفال من نموذج؟
-
19-09-2019 - |
سؤال
المرجعية السؤال رقم 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 لتحقيق الجمعيات متعددة الأعمدة
لا تنتمي إلى StackOverflow