Rails 和 html 表单(在这种情况下具体化)

Posted

技术标签:

【中文标题】Rails 和 html 表单(在这种情况下具体化)【英文标题】:Rails and html form (materialize in this case) 【发布时间】:2018-10-29 03:23:17 【问题描述】:

我正在为我的 Product 模型创建一个表。作为标题,我将拥有属性名称,在正文中,行将代表我要为其添加值然后保存的记录。目前,我将其草绘为 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 形式?

【问题讨论】:

guides.rubyonrails.org/form_helpers.html 【参考方案1】:

您会希望在 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 提交。前者更简单,只需将&lt;%= f.submit %&gt; 添加到行中即可。

希望对您有所帮助 - 如果您有任何问题,请告诉我:)

【讨论】:

这对@begginnersquestions 有帮助吗?

以上是关于Rails 和 html 表单(在这种情况下具体化)的主要内容,如果未能解决你的问题,请参考以下文章

如何在不使用表单的情况下从 Rails 应用程序发布到外部 url

在 Rails 4 中,如何在不刷新的情况下在页面上提交表单和更新元素

Rails:如何将日期时间字符串解析为特定时区

在 ruby​​ rails html 视图中使用 Ajax 表单更改图标“like”按钮类

远程表单提交禁用的输入

注册表单上是不是需要 CSRF 保护?