Как показать ключ отношения и модель значения в простой форме Rails? - PullRequest
0 голосов
/ 03 мая 2018

В моем приложении у меня есть kids и lessons таблицы.

Дети имеют столбцы id и name. Уроки содержат id, kid_id, key и value столбцов.

Уроки key и value сохранят название урока для детей и его оценку.

Но я не знаю, как показывать уроки на рельсах simple form? В моей форме должно быть 5 уроков по математике, английскому языку и т. Д. Я хочу сделать следующее:

Name <input type='text' name='name' placeholder='Kid Name'>

Math <input type='text' name='key["math"]' placeholder='Score'> 

English <input type='text' name='key["english"]' placeholder='Score'>

History <input type='text' name='key["history"]' placeholder='Score'>

я не знаю, покажи и сохрани это в рельсах простой формы. Можно ли использовать одно и то же имя и использовать foreach для сохранения таблицы «Уроки» в моем контроллере?.

1 Ответ

0 голосов
/ 03 мая 2018

Добавьте gem nested_form в свой проект, и тогда вы можете сделать это следующим образом:

Действие контроллера

# Find Kid instance (or build one based on what action you are in)
@kid = Kid.find(<id>)

# Assuming you have an association `has_many :lessons` in `Kid` model, build 5 Lesson instances related to @kid
@lessons = %w[Math English History ...].each { |l| @kid.lessons.build(key: l) }

View

<%= form_for @kid do |f| %>
  <%= f.fields_for :lessons do |l| %>
    <%= l.text_field :key %>
    <%= l.text_field :value %>
  <% end %>
<% end %>

ВНИМАНИЕ: код не проверен. Это только дает представление о реализации.

...