我有一个rails3表单,允许用户编辑答案列表,作为评估的一部分.
我使用fields_for循环生成每个文本输入:
app/models/assessment.rb:
class Assessment < ActiveRecord::Base
serialize :answers, Hash # answers is a t.text field used to store all answers.
end
Run Code Online (Sandbox Code Playgroud)
app/view/assessment/new.html.erb:
<p>Initialized answers: <%= @assessment.answers %></p>
<% item_counter = 0 %>
<% form.fields_for :answers do |answer_fields| %>
<% item_id = "item" + item_counter.to_s %>
<% item_counter = item_counter + 1 %>
<div class="field">
<%= answer_fields.label "the appropriate question, omitted for brevity" %>
<br/>
<% @assessment.answers[item_id] = "" %>
<%= answer_fields.text_field item_id, :value => @assessment.answers[item_id] %>
</div> …Run Code Online (Sandbox Code Playgroud) 我是rails的新手,也是一个简单的应用程序.我的ERD中有一个名为Client的模型,并希望保存每个客户端的地址.
我最初的想法是将地址保存为单独的字段,即:
rails g model Client address_first:string address_second:string city:string ...
Run Code Online (Sandbox Code Playgroud)
但这似乎效率很低.我确定必须有一种方法来保存地址哈希,数组或者JSON?我已经阅读过并且人们一直在指使用"序列化",但我不确定是否以及如何为地址字段实现此功能.
非常感激任何的帮助.
谢谢