首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Railscast 198,但使用formtastic

Railscast 198,但使用formtastic
EN

Stack Overflow用户
提问于 2011-07-01 05:18:28
回答 1查看 1.4K关注 0票数 4

如何使用Formtastic分别编辑多个记录,如RyanB's Railscast中所述?Formtastic没有使用RyanB的方法所依赖的form_tag。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-07-07 21:55:46

semantic_form_for只是form_for的包装器,所以您可以使用相同的参数。下面是Ryan Bates' screencast的一个形式化版本

views/products/edit_individual.html.erb

代码语言:javascript
复制
<% semantic_form_for :update_individual_products, :url => update_individual_products_path, :method => :put do |f| %>
  <% for product in @products %>
    <% f.fields_for "products[]", product do |ff| %>
      <h2><%=h product.name %></h2>
      <%= render "fields", :f => ff %>
    <% end %>
  <% end %>
  <p><%= submit_tag "Submit" %></p>
<% end %>

views/products/index.html.erb

代码语言:javascript
复制
<% semantic_form_for :edit_individual_products, :url => edit_individual_products_path do %>
  <table>
    <tr>
      <th></th>
      <th>Name</th>
      <th>Category</th>
      <th>Price</th>
    </tr>
  <% for product in @products %>
    <tr>
      <td><%= check_box_tag "product_ids[]", product.id %></td>
      <td><%=h product.name %></td>
      <td><%=h product.category.name %></td>
      <td><%= number_to_currency product.price %></td>
      <td><%= link_to "Edit", edit_product_path(product) %></td>
      <td><%= link_to "Destroy", product, :confirm => 'Are you sure?', :method => :delete %></td>
    </tr>
  <% end %>
  </table>
  <p>
    <%= select_tag :field, options_for_select([["All Fields", ""], ["Name", "name"], ["Price", "price"], ["Category", "category_id"], ["Discontinued", "discontinued"]]) %>
    <%= submit_tag "Edit Checked" %>
  </p>
<% end %>

请注意,您也可以在formtastic中使用form_for帮助器。

更新

如果您也喜欢使用嵌套属性,那么应该开箱即用,在表单partial上使用fields_for。让我们继续使用railscast示例,并说明:

product.rb

代码语言:javascript
复制
has_many :commments
accepts_nested_attributes_for :comments

您可以编辑产品_fields.html.erb上的注释,如下所示:

代码语言:javascript
复制
<%= f.fields_for :comments do |cf| %>
  <%=render 'comments/fields', :f=>cf%>
<%end%>

并确保您的注释视图中有字段部分。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6541224

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档