如何在rails中使用带有form_for的日期选择器?

时间:2015-05-29 06:33:31

标签: ruby-on-rails bootstrap-datepicker

我是铁杆新手,有什么线索吗?如果你能建议我读什么也会更好。

我将日期选择器插件添加到现有的rails4应用程序中。我在Github上找到了this plugin。我按照说明操作并在我的应用中配置了所有内容。访问 http://localhost:3000/bookings/new 看起来不错,但在我填写信息并提交后,会出现错误:

ArgumentError in BookingsController#create
First argument in form cannot contain nil or be empty

booking_controller.rb:

def new
    @booking = Booking.new
  end

  def create
    @booking = current_user.bookings.build(booking_params)    # Not the final implementation!
    if @booking.save
      flash[:success] = "You have submited the information successfully!"
      redirect_to root_url
    else
      render 'static_pages/home'
    end
  end

new.html.rb

    <%= form_for (@booking) do |f| %>
    <%= render 'shared/errorbooking_messages' %>
      <%= f.label :date_of_tour %>
      <input data-provide="datepicker">

      <%= f.label :hotel_name %>
      <%= f.text_field :hotel_name, class: 'form-control' %>

      <%= f.label :hotel_address %>
      <%= f.text_field :hotel_address, class: 'form-control' %>

1 个答案:

答案 0 :(得分:15)

替换此输入字段

<input data-provide="datepicker">

通过

<%= f.text_field :date_of_tour, "data-provide" => 'datepicker' %>

希望它有用。

只是建立在这个答案的基础上。从rails 4开始,您还可以使用以下格式。

<%= f.text_field :date_of_tour, data:{ provide:'datepicker' } %>