rails simple_form两个型号

时间:2011-05-14 04:46:31

标签: ruby-on-rails simple-form

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

由于

2 个答案:

答案 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