1

Railsアプリケーションにsimple_formを使い始めました。いくつかのフォームを変換しているときに、2つのモデルが組み込まれている、一種の埋め込みフォームに出くわしました。これはsimple_formで可能ですか?

 <% simple_form_for :topic, :url => forum_topics_path do |t| %>
 <%= t.input :name, :label => 'Topic' %></p>

 <p>First Post:<br/></p> 
 Title: <%= text_field :post, :title %> <--- this is where i start having problems
 Body: <%= text_area :post, :body %>
 <%= t.submit 'Save' %>

ありがとう

4

2 に答える 2

8

使用simple_fields_for

<%= simple_form_for :topic, :url => forum_topics_path do |topic_builder| %>
  <%= topic_builder.input :name, :label => 'Topic' %>
  <%= topic_builder.simple_fields_for :post do |post_builder| %>
    <p>First Post:</p> 
    <%= post_builder.input :title, :input_html => { :size => 30 } %>
    <%= post_builder.input :body, :as => :text, :input_html => { :rows => 20, :cols => 50, :class => 'resizable' } %>
  <% end %>
  <%= topic_builder.submit 'Save' %>
<% end %>

ノート

  • およびの=記号に注意してください(Rails 3.xで必要)<%= simple_form_for ...<%= simple_fields_for

  • 「タイトル:」と「本文:」のテキストを削除しました。入力用に生成されたラベルを使用し、必要に応じてCSSを使用してそれらの場所のスタイルを設定します。

  • 使用例を追加input_html

于 2011-05-14T05:05:07.080 に答える
0

私が使用している別のアプローチがあり、それはうまく機能します。Ryan Bates(RailsCasts)は、これを処理するためのgemを作成しました。

詳細については、 https://github.com/reu/simple_nested_formを参照してください。

于 2011-08-15T04:55:32.713 に答える