0

我的微博有一个名为 type 的列,它是一个字符串。这可以是购买或出售。我想要两个单独的输入表单,如果您将内容输入到一个表单中,那么它会自动填写购买作为类型(在创建微帖子时),如果您将内容输入到另一个表单中,它会自动填写销售。.

这是我的表格

<%= form_for(@micropost) do |f| %>
  <%= render 'shared/error_messages', object: f.object %>
  <div class="field no-indent">
    <%= f.text_area :content, placeholder: "What's something else you want to buy?" %>
  </div>
  <%= f.submit "Post", class: "btn btn-large btn-primary" %>
<% end %>

我最近在 micropost 数据表中添加了 type 作为列。这就是为什么(还)没有输入的原因。阅读上文了解我希望如何自动填写类型

我想一种方法是用一些东西来标识每个表单。然后在填写表格时,我可以以某种方式告诉它根据填写的表格自动填写隐藏类型字段。这可能吗?

4

1 回答 1

0

我想你指的是hidden_field这里。用于hidden_field将信息传递给控制器​​而不将其呈现给用户。这是购买的一种形式:

<%= form_for(@micropost) do |f| %>
  <%= render 'shared/error_messages', object: f.object %>
  <div class="field no-indent">
    <%= f.text_area :content, placeholder: "What's something else you want to buy?" %>
    <%= f.hidden_field :type, 'purchase' %>
  </div>
  <%= f.submit "Post", class: "btn btn-large btn-primary" %>
<% end %>

另一个出售:

<%= form_for(@micropost) do |f| %>
  <%= render 'shared/error_messages', object: f.object %>
  <div class="field no-indent">
    <%= f.text_area :content, placeholder: "What's something else you want to sell?" %>
    <%= f.hidden_field :type, 'sale' %>
  </div>
  <%= f.submit "Post", class: "btn btn-large btn-primary" %>
<% end %>
于 2012-09-13T23:54:15.327 回答