相关疑难解决方法(0)

如何为SimpleForm编写更清晰的日期选择器输入

我喜欢simple_formrails 的gem,但我不喜欢这行代码:

<%= f.input :deadline, :as => :string, :input_html => { :class => 'date_picker' } %>
Run Code Online (Sandbox Code Playgroud)

我想写:

<%= f.input :deadline, :as => :date_picker %>
Run Code Online (Sandbox Code Playgroud)

甚至完全写出:date/ :datetime匹配器.

但我真的不想写一个整体 custom_simple_form

我认为一定有可能......

请帮助谢谢

forms ruby-on-rails ruby-on-rails-3

33
推荐指数
3
解决办法
3万
查看次数

Rails 4 + simple_form和jQuery UI.Datepicker无法通过turbolink工作

我有这个调用datepicker的表单:

...
<%= f.input :expiration_date, as: :datepicker, required: false %>
...
Run Code Online (Sandbox Code Playgroud)

Simple_form包装器: app/inputs/datepicker_input.rb

class DatepickerInput < SimpleForm::Inputs::Base
  def input
    @builder.text_field(attribute_name, input_html_options) + \
    @builder.hidden_field(attribute_name, { :class => attribute_name.to_s + "-alt"})
  end
end
Run Code Online (Sandbox Code Playgroud)

从头开始加载页面($(document).ready event)时,会生成以下html:

<input class="datepicker optional form-control hasDatepicker" id="order_expiration_date" name="order[expiration_date]" type="text">
Run Code Online (Sandbox Code Playgroud)

但是,当页面加载turbolinks时(从侧面导航栏,"page:load"事件),呈现的HTML如下:

<input class="datepicker optional form-control" id="order_expiration_date" name="order[expiration_date]" type="text">
Run Code Online (Sandbox Code Playgroud)

当然,我可以简单地在.html.erb或application.js文件中添加hasDatepicker类,但我想知道是否可以使用Rails功能实现它.

datepicker jquery-ui-datepicker simple-form turbolinks ruby-on-rails-4

10
推荐指数
1
解决办法
2万
查看次数