【发布时间】:2012-10-03 10:52:18
【问题描述】:
我有一个带有“simpleform”和“bootstrap-datepicker-rails”gem 的 rails 应用程序。
我尝试像这样使视图代码更具可读性:
f.input :birthday, :mydatefield, :options => {:icon => "calendar", :data-date => "21.12.2012", :data-format => "dd-mm-yyyy"}
此刻我写下这个:
<div class="input-append date" id="user_birthday" data-date="12-02-2012" data-date-format="dd-mm-yyyy">
<%= f.input_field :birthday, :disabled => true %>
<span class="add-on">
<i class="icon-calendar"></i>
</span>
</div>
或者这个
<%= f.input :birthday, :wrapper => :datepicker, :wrapper_html=> {id: "user-birthday", class: "date"} do %>
<%= f.input_field :birthday, :disabled => true %>
<%= content_tag :span, :class => "add-on" do %>
<%= content_tag :i, :style => "color:grey", :class => "icon-calendar" do
end %>
<% end %>
<% end %>
得到我的结果:
以上两者都取得了这个结果,效果很好:
<div class="control-group string required date" id="user-birthday">
<label class="string required control-label" for="user_birthday"><abbr title="required">*</abbr> Birthday</label>
<div class="controls">
<div class="input-append">
<input class="string required disabled" disabled="disabled" id="user_birthday" name="user[birthday]" size="50" type="text" />
<span class="add-on">
<i class="icon-calendar" style="color:grey"></i>
</span>
</div>
</div>
</div>
当我尝试将变量解析到包装器时
:wrapper_html=> => {:data-date => "21-12-2012"}
它会抛出错误...
我必须做什么?我对扩展 gems 很陌生。
我必须写什么才能让它工作?
- SimpleForm 包装器?
- app/inputs/datepickerInput.rb?
- 初始化程序/datepicker.rb?
- 辅助方法?
一个例子会很有帮助!
非常感谢!
【问题讨论】:
-
:wrapper_html=> => {:data-date => "21-12-2012"} 你确定在这行描述吗?因为它有语法错误。它应该看起来像 :wrapper_html => {:data-date => "21-12-2012"}
-
对不起,错字。仅在stackoverflow上。在我的代码中是正确的。主要问题是属性中的“-”。因此,当我尝试时,“data-date-format”或“data-blah-blah”会引发异常:data-blah =>“xxx”它失败当我尝试时:test =>“xxx”它似乎正在工作
-
这些属性可以用引号传递,'data-blah' => 'value'
标签: ruby-on-rails ruby-on-rails-3 twitter-bootstrap