我有由脚手架为成员模型生成的典型rails _form。对于参数 :state 我使用选择标签:
<%= f.select :state, options_for_select(us_states), { :include_blank=>true, :prompt => 'State' }, { :class => 'form-control' } %>
使用辅助方法(美国国家):
def us_states
[
['AK', 'AK'],
['AL', 'AL'], #etc
对于参数“member_since”,我使用 select_year 助手:
<%= select_year(0, {:start_year => 2013, :end_year => 1920, :field_name => 'member_since', :prompt => 'Choose year', prefix: :member}, {:class => "form-control"} ) %>
现在,这两个选择都可以创建新记录,但两个字段都没有在编辑记录 View 中预先填充。有什么想法吗?
最佳答案
<%= f.select :state, us_states, { :include_blank=>true, :prompt => 'State' }, { :class => 'form-control' } %>
和
<%= select_year(f.object.member_since, {:start_year => 2013, :end_year => 1920, :field_name => 'member_since', :prompt => 'Choose year', prefix: :member}, {:class => "form-control"} ) %>
更新:
由于member_since是一个字符串,因此您需要将其转换为日期:
<%= select_year(Date.new(f.object.member_since.to_i), {:start_year => 2013, :end_year => 1920, :field_name => 'member_since', :prompt => 'Choose year', prefix: :member}, {:class => "form-control"} ) %>
关于ruby-on-rails - 表单中的 Rails 选择标记不会填充编辑 View 中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20497503/