在 Rails 中使用组合
我不知道哪种是最好或正确的制作方法,所以我正在寻找建议。
阶段: 我正在使用 Rails 3 制作一些网络应用程序。 成像两个模型:Canvas
和 Zone
。 canvas
对象旨在成为一个正方形,其中有四个区域
(北、南、东和西)。 每个zone
都有以下属性:text:string
和rgb_color:string
。 我想渲染一个 HTML 表单,其中用户必须捕获 Canvas 注册表,换句话说,在此表单中将有四组区域字段。
问题: 我怎样才能在一个 HTML 表单中捕获所有这些内容?
如果我只有一个区域,我可以这样做:
<%= form_for(@zone) do |f| %>
<div class="field">
<%= f.label :text %><br />
<%= f.text_field :text %>
</div>
<div class="field">
<%= f.label :rgb_color %><br />
<%= f.text_field :rgb_color %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
但是如果有四个区域,我应该如何做呢?
I don't know which is the best or right way to make something, so I'm looking for suggestions.
Stage:
I am using Rails 3 to make some web app.
Imaging two models: Canvas
and Zone
.
A canvas
object intents to be a square in which there will be four zone
's (north, south, east and west).
Each zone
has these attributes: text:string
and rgb_color:string
.
I want to render a HTML form in which user must capture a Canvas registry, in other words, in this form will have four groups of zones fields.
Problem:
How can I capture all of them in one HTML form?
If I would have only one zone I can do something like this:
<%= form_for(@zone) do |f| %>
<div class="field">
<%= f.label :text %><br />
<%= f.text_field :text %>
</div>
<div class="field">
<%= f.label :rgb_color %><br />
<%= f.text_field :rgb_color %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
But how should I do it with four zones?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以使用
accepts_nested_attributes_for
来执行此操作 和fields_for
:模型:
控制器:
视图:
有关更多详细信息和说明,请查看以下内容:
You can do this with
accepts_nested_attributes_for
andfields_for
:Model:
Controller:
View:
For more details and explanation have a look at this: