ruby-on-rails - 表单中的 Rails 选择标记不会填充编辑 View 中的值

标签 ruby-on-rails ruby forms helper

我有由脚手架为成员模型生成的典型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/

相关文章:

ruby - 在您的 Gemfile 中列出的或此机器上可用的任何 gem 源中找不到 gem 'rails (= 4.2.5.2) x86-mingw32'

ruby-on-rails - Windows安装rmagick错误

java - :form enctype ="multipart/form-data" not firing any action

ruby-on-rails - 如何取消 Paypal 订阅?

ruby-on-rails - 运行 db :migrate 时出现段错误

forms - AngularJS - 带有指令的模块化表单

php - 表单中多个提交按钮

javascript - 如何将 Bootstrap 模式调用应用于图像标签?

ruby-on-rails - 在Ruby on Rails上部署-Heroku是否有不错的选择?

ruby-on-rails - 清除 Rails 5 中的所有 session