Dan*_*ier 1 datetime ruby-on-rails date scaffolding scaffold
当我使用Rails脚手架时,我无法访问页面来编辑字段.它向我展示了所有DATE字段的某种问题.这是错误:
can't convert Symbol into String
Extracted source (around line #124):
121: </p>
122: <p>
123: <%= f.label :dataDeCadastro %><br />
124: <%= f.date_select :dataDeCadastro %>
Run Code Online (Sandbox Code Playgroud)
和stackTrace的一部分:
/Library/Ruby/Gems/1.8/gems/actionpack-2.2.2/lib/action_view/helpers/date_helper.rb:564:in `include?'
/Library/Ruby/Gems/1.8/gems/actionpack-2.2.2/lib/action_view/helpers/date_helper.rb:564:in `select_date'
/Library/Ruby/Gems/1.8/gems/actionpack-2.2.2/lib/action_view/helpers/date_helper.rb:832:in `to_date_select_tag_without_error_wrapping'
/Library/Ruby/Gems/1.8/gems/actionpack-2.2.2/lib/action_view/helpers/active_record_helper.rb:268:in `to_date_select_tag'
/Library/Ruby/Gems/1.8/gems/actionpack-2.2.2/lib/action_view/helpers/date_helper.rb:179:in `date_select'
/Library/Ruby/Gems/1.8/gems/actionpack-2.2.2/lib/action_view/helpers/date_helper.rb:889:in `date_select'
app/views/usuarios/edit.html.erb:124
/Library/Ruby/Gems/1.8/gems/actionpack-2.2.2/lib/action_view/helpers/form_helper.rb:313:in `fields_for'
/Library/Ruby/Gems/1.8/gems/actionpack-2.2.2/lib/action_view/helpers/form_helper.rb:253:in `form_for'
app/views/usuarios/edit.html.erb:3
Run Code Online (Sandbox Code Playgroud)
和模型sql:
CREATE TABLE `usuarios` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`usuario` varchar(50) DEFAULT NULL,
`recebeNews` smallint(1) DEFAULT NULL,
`cidade` varchar(30) DEFAULT NULL,
`email` varchar(40) DEFAULT NULL,
`endereco` varchar(70) DEFAULT NULL,
`estado` varchar(3) DEFAULT NULL,
`cep` varchar(10) DEFAULT NULL,
`numero` varchar(10) DEFAULT NULL,
`telefone` varchar(30) DEFAULT NULL,
`cnpj` varchar(20) DEFAULT NULL,
`cpf` varchar(18) DEFAULT NULL,
`inscricaoEstadual` varchar(20) DEFAULT NULL,
`rg` varchar(15) DEFAULT NULL,
`complemento` varchar(70) DEFAULT NULL,
`sexo` varchar(1) DEFAULT NULL,
`bairro` varchar(70) DEFAULT NULL,
`telefoneResidencial` varchar(10) DEFAULT NULL,
`dddTelefoneCelular` varchar(2) DEFAULT NULL,
`dddTelefoneComercial` varchar(2) DEFAULT NULL,
`dddTelefoneResidencial` varchar(2) DEFAULT NULL,
`ramalDoTelefoneComercial` varchar(10) DEFAULT NULL,
`telefoneCelular` varchar(10) DEFAULT NULL,
`telefoneComercial` varchar(10) DEFAULT NULL,
`creditoPessoal` smallint(1) DEFAULT NULL,
`descontoPessoal` smallint(1) DEFAULT NULL,
`motivoDoBloqueio` varchar(255) DEFAULT NULL,
`nomeNaReceitaFederal` varchar(255) DEFAULT NULL,
`valorDoCreditoPessoal` double DEFAULT NULL,
`valorDoDescontoPessoal` double DEFAULT NULL,
`bloqueio` smallint(1) DEFAULT NULL,
`dataDeCadastro` datetime DEFAULT NULL,
`dataLimiteDoDescontoPessoal` datetime DEFAULT NULL,
`situacaoNaReceitaFederal` varchar(255) DEFAULT NULL,
`dataDeNascimento` datetime DEFAULT NULL,
`senha` varchar(255) DEFAULT NULL,
`interior` smallint(1) DEFAULT NULL,
`observacao` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `email` (`email`)
) ENGINE=InnoDB AUTO_INCREMENT=5754 DEFAULT CHARSET=latin1 ;
Run Code Online (Sandbox Code Playgroud)
全景来源:
<% form_for(@usuario) do |f| %>
<%= f.error_messages %>
<p>
<%= f.label :usuario %>
<%= f.text_field :usuario %>
</p>
<p>
<%= f.label :cpf, "CPF" %>
<%= f.text_field :cpf %>
</p>
<p>
<%= f.label :rg, "RG" %>
<%= f.text_field :rg %>
</p>
<p>
<%= f.label :cnpj, "CNPJ" %>
<%= f.text_field :cnpj %>
</p>
<p>
<%= f.label :sexo, "Sexo" %><br>
<%= f.radio_button :sexo, :M %>M<br>
<%= f.radio_button :sexo, :F %>F
</p>
<p>
<%= f.label :dataDeNascimento, "Data de Nascimento" %>
<%= f.date_select :dataDeNascimento %>
</p>
<p>
<%= f.label :endereco %>
<%= f.text_field :endereco %>
</p>
<p>
<%= f.label :cidade, "Cidade" %>
<%= f.text_field :cidade %>
</p>
<p>
<%= f.label :estado, "Estado" %>
<%= f.text_field :estado, :maxlength => "2" %>
</p>
<p>
<%= f.label :cep, "CEP" %>
<%= f.text_field :cep, :maxlength => "10" %> (00000-000)
</p>
<p>
<%= f.label :telefone, "Telefone" %>
<%= f.text_field :telefone %>
</p>
<p>
<%= f.label :email %>
<%= f.text_field :email %>
</p>
<p>
<%= f.label :senha, "Senha" %>
<%= f.password_field :senha %>
</p>
<p>
<%= f.label :senha_confirmation, "Confirmação da Senha" %>
<%= f.password_field :senha_confirmation %>
</p>
<p>
<%= f.label :recebeNews %><br />
<%= f.check_box :recebeNews %>
</p>
<p>
<%= f.submit "Enviar" %>
</p>
<% end %>
Run Code Online (Sandbox Code Playgroud)
会是什么呢?
Dan*_*ier 11
在您的应用程序中,您已将I18n.locale设置为与"en"不同的内容,并且您在视图中具有以下简单代码:
<%= date_select("user_info", "birthdate") %>
Run Code Online (Sandbox Code Playgroud)
您将无法将符号转换为字符串以用于date_select帮助程序.通过像这样给出date_select帮助程序顺序可以解决问题:
<%= date_select("user_info", "birthdate", :order => [:day,:month,:year]) %>
Run Code Online (Sandbox Code Playgroud)
或者通过在yml文件中执行命令,通常位于config/locales/your_lang.yml,就像这样
date:
formats:
default: ""
long: ""
short: ""
order:
- :year
- :month
- :day
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4737 次 |
| 最近记录: |