2011-06-30 12 views
4

Formtasticを使用して複数のレコードを個別に編集する場合は、RyanB's Railscastで扱うことができますか? Formtasticは、RyanBのメソッドが依存するform_tagを使用しません。Railscast 198、formtasticを使用

+0

通常のフォームヘルパーはformtasticフォーム内で使用できます。 – dombesz

+0

ジャスティン・フレンチェルによるとform_tagではありません。[link](http://groups.google.com/group/formtastic/browse_thread/thread/887f476fcc901eef) "Formtasticはform_tagと併用できません。" – snowangel

答えて

6

semantic_form_forは、同じパラメータを使用できるように、form_forのラッパーです。ここでは、formtasticで同様form_forヘルパーを使用することができますので、予めご了承ください

views/products/edit_individual.html.erb

<% 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

<% 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バージョンです。

更新

あなたにも、それは部分的なフォームにfields_for使用して、箱から出して動作するはずネストされた属性を使用したい場合。

<%= f.fields_for :comments do |cf| %> 
    <%=render 'comments/fields', :f=>cf%> 
<%end%> 

とmake:あなたはのような製品の_fields.html.erbに関するコメントを編集することができます

product.rb

has_many :commments 
accepts_nested_attributes_for :comments 

を:railscast例に固執し、それを言うことができますコメントビューにフィールドが部分的に表示されていることを確認してください。

+0

華麗な、ありがとう!私はこれをRyanの複数の編集に関するチュートリアルに適用し、edit_multipleビューをレール3に更新しました。このような非安定コントローラのアクションとメソッドへのパスを手動で記述しなければなりませんでした: '= semantic_form_for:isbn、:url {@ controller => 'isbns'、:action => 'update_multiple'}、:html => {:method =>:put} do | f | ' ここでaccepts_nested_attributes_for私は笑っている... – snowangel

+0

ネストされた属性でそれを使用する方法を私の答えに更新しました。 – dombesz

+0

どのようにあなた!私はそれを働かせることはできません。私はあなたにこの新しい質問[リンク](http://stackoverflow.com/questions/6623389/accepts-nested-attribute-for-and-multiple-edits)に関する私のコードを見て勝つことができますか?私はあなたの助けに感謝します。 – snowangel

関連する問題