多个HTML属性Simple_form_for

时间:2013-03-31 10:49:00

标签: ruby-on-rails ruby ruby-on-rails-3 twitter-bootstrap

我有一个包含simple_form_for元素的新页面,如下所示

<%= simple_form_for @invoice, :html => { :class => 'form-horizontal' } do |f| %>
  <%= render "shared/error_messages", :target => @invoice %>

  <%= f.association :customer %>
  <%= f.input :invoice_date, as: :string, input_html: { class: "datepicker"} %>
<% end %>

我正在尝试将日历元素合并到上面的表单中,来自unicorm管理模板主题。 我的Assets文件包含bootstrap-datepicker.js,我试图在上面的表单中包含它。 每当我向invoice_date输入添加额外的HTML属性时,我都会收到一个语法错误。

我试过这个

<%= f.input :invoice_date, as: :string, input_html: { class: "datepicker", data-date-format="dd-mm-yyyy"} %>

哪个产生了错误。如何在我的模板中的bootstrap-datepicker.js中将日历功能合并到invoice_date?

2 个答案:

答案 0 :(得分:1)

您的代码行中有一个错误的=符号。此外,由于哈希中有符号键,其中包含短划线(data-date-format),因此您需要使用旧式“hashrocket”符号格式。

你可以这样做:

<%= f.input :invoice_date, as: :string, input_html: { class: "datepicker", :'data-date-format' => "dd-mm-yyyy"} %>

我不喜欢混合使用这两种风格,所以你也可以这样做:

<%= f.input :invoice_date, :as => :string, :input_html => { :class => "datepicker", :'data-date-format' => "dd-mm-yyyy"} %>

答案 1 :(得分:0)

我弄清楚问题是什么,我没有在我的项目中添加twitter bootstrap