如何创建一个适用于多个资源的Rails表单?

时间:2014-02-05 05:39:32

标签: ruby-on-rails

我正在创建一种设置向导表单,除了提供几个不同模型中的一些字段之外,您还可以同时创建多个模型。我假设有一种Rails方式可以在一个表单中组合多个“资源”,但我不知道该怎么做。如何创建一个提供多个模型字段的表单,同时利用尽可能多的内置帮助程序?

1 个答案:

答案 0 :(得分:0)

关于如何做到这一点有一个很好的tutorial here

如果您使用inherited resources之类的内容,那么效果非常好:


<强>部分

#app/helpers/application_helper.rb
def attributes(resource)
    resource ||= resource_class
    resource.attribute_names - %w(id created_at updated_at)
end

#app/views/shared/_form.html.erb
<%= form_for resource do |f| %>
    <% attributes(resource).each do |attr| %>
        <%= f.text_field attr.to_sym, placeholder: attr.name, value: attr.value %>
    <% end %>
    <%= f.submit %>
<% end %>

#app/views/controller/new.html.erb
<%= render partial: "shared/form", locals: {resource: <<model class>>} %>