我开始使用simple_form作为rails应用程序,并且在转换我的一些表单时,我遇到了一个有两个模型正在使用的模式,它是一种嵌入式表单。这可以用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' %>
由于
答案 0 :(得分: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 %>
注释
请注意=
和<%= simple_form_for ...
中的<%= simple_fields_for
符号(Rails 3.x中需要)
删除了“标题:”和“正文:”文字。使用为输入生成的标签,并根据需要使用CSS设置其位置样式。
添加了使用input_html
答案 1 :(得分:0)
我正在使用另一种方法并且效果很好。 Ryan Bates(RailsCasts)创造了一个宝石来处理这个问题。
有关详细信息,请参阅https://github.com/reu/simple_nested_form。