我喜欢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
我认为一定有可能......
请帮助谢谢
我有这个调用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