1

我开始将 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' %>

谢谢

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

笔记

  • 注意and中的=符号(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 回答