ruby-on-rails - Rails 和 html 表单(在这种情况下具体化)
问题描述
我正在为我的产品模型创建一个表。作为标题,我将拥有属性名称,在正文中,行将代表我要为其添加值然后保存的记录。目前,我将其草绘为 HTML/CSS(使用 Materialize)
<table>
<thead>
<tr>
<th>#</th>
<th>Date</th>
<th>Document</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>12/12/2017</td>
<div>
<td>
<select class = "browser-default">
<option value="" disabled selected>Choose your option</option>
<option value ="1">Option 1</option>
<option value ="2">Option 2</option>
</select>
</td>
<td class ="input-field col s6" >
<input id="last_name" type="text" class="validate">
</table>
如果我想保留提供的选项、输入、复选框,我该如何保存我的记录(我想仍然使用输入字段,例如,我放在那里的值要保存)我怎样才能使它适应 Rails形式?
解决方案
html.erb
你会在一个文件中想要这样的东西:
...
<tbody>
<% @products.each do |product| %>
<tr>
<td><%= product.id %></td>
<td><%= product.your_date_column %></td>
<%= form_for product do |f| %>
<td>
<%= f.select :browser_default, [["Option 1", 1], ["Option 2, 2"]], include_blank: "Choose your option" %>
</td>
<td class ="input-field col s6" >
<%= f.input :last_name %>
</td>
<% end %>
...
需要注意的几点:
- 您需要设置
@products
相关的控制器操作。 - 然后迭代这些,为每个产品创建一行。
- 您将需要此表单的提交按钮,或者确定如何使用 AJAX 提交。前者更简单,只需要
<%= f.submit %>
添加到行中。
希望对您有所帮助-让我知道您的进展情况或有任何疑问:)