Ruby 散列很棒,而带有 DataMapper 的 Ruby 更棒……这是关于使用散列在 Ruby 中实例化 DateTime 属性。它与 DataMapper 有关。
我有一个模态,User
它的生日存储为DateTime
class User
include DataMapper::Resource
property :id, Serial
# Some other properties
property :date_of_birth, DateTime
property :gender, Enum[:male, :female, :other], {
default: :other,
}
property :children, Integer
end
为了填充表单,我使用 HTML 之类的东西
<form method="post">
<input type="text" name="user[name]" id="user-name">
<!-- other fields -->
<select name="{what to use for year?}" id="user-birth-year>
<option value="1980">1980</option>
<!-- other options -->
</select>
<select name="{what to use for month?}" id="user-birth-month>
<option value="1">January</option>
<!-- other options -->
</select>
<!-- Other fields -->
</form>
在register.rb
(路线)我做这样的事情......
post '/auth/register' do
user = User.new(params['user'])
# Other stuff
end
据我了解, has 用户必须与其字段类似。那么如何命名 date_of_birth 字段来实现这一点。
我的假设是使用这样的东西,但它似乎不起作用。
:date_of_birth = {
:year => '2010'
:month => '11'
:date => '20'
}
这将由名称user[data_of_birth][year]
user[date_of_birth][month]
和user[date_of_birth][date]
选择列表给出。