繁体   English   中英

Rails 4:我怎样才能烘干我的多个表单部分?

[英]Rails 4: how can I DRY out my multiple form partials?

我的应用程序具有对象Foo和Bar,它们分别具有对应的模型,视图和控制器。

在为每个对象生成支架后,表单部分成为标准配置。

Foo表格局部看起来像...

<div class="form-inputs row">
  <div class="col-md-6">
    <%= Foo.donut %>
    <%= Foo.bagel %>
    <%= Foo.cookie %>
  </div>
</div>
<div class="form-inputs row">
  <div class="col-md-6">
    <%= Foo.biscuit %>
    <%= Foo.toast %>
    <%= Foo.muffin %>
  </div>
</div>

条形局部看起来像...

<div class="form-inputs row">
  <div class="col-md-6">
    <%= Bar.cat %>
  </div>
</div>
<div class="form-inputs row">
  <div class="col-md-6">
    <%= Bar.dog %>
  </div>
</div>

我想要统一的格式并且希望它易于维护,但是对象具有不同的属性和不同数量的属性。 有什么办法可以让我的DRY格式化吗?

由于您具有重复的渲染结构,因此您可以将其提取为部分结构,然后传递变量进行渲染。 所以你的局部看起来像

<div class="form-inputs row">
  <div class="col-md-6">
    <% vals.each do |val|   %>
    <%= val %>
    <% end %>
  </div>
</div>

然后在主视图中传递变量进行渲染。

<%= render 'home', vals: [Foo.biscuit, Foo.bagel] %>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM