2015-05-29 5 views
5

Ich bin neu in Schienen, Irgendwelche Hinweise? und es wäre besser, wenn Sie mir auch vorschlagen könnten, was ich lesen soll.Wie verwende ich die Datumsauswahl mit form_for in Rails?

Im Hinzufügen eines Datumsauswahl-Plugins in eine vorhandene Rails4 App. Ich habe this plugin auf Github gefunden. Ich folgte der Anweisung und konfigurierte alles in meiner App. Besuch http://localhost:3000/bookings/new sieht gut aus, aber nachdem ich die Informationen ausfüllen und abschicken, Fehler tritt auf:

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' %> 
+0

Sie möchten jquery date picker oder dropdown von Jahr, Monat und Datum? –

+0

Versuchen Sie in Ihrer 'create' Aktion' @booking = Booking.new (booking_params) '. Ich hoffe, es ist hilfreich. – Zoran

+0

@ user123 die ich implementiert ist eine Datumsauswahl, ich bin in der Lage, wählen Sie das Datum und das Jahr, es sieht gut aus auf der Seite, nicht nachdem ich die Informationen einreichen. – Snailwalker

Antwort

11

Dieses Eingabefeld ersetzen

von

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

Hoffe, dass es hilfreich ist.

Nur um auf diese Antwort aufzubauen. Ab Rails 4 können Sie auch folgendes Format verwenden.

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

Ihr Willkommen, diese 2 Links, die Sie beziehen können. https://github.com/Nerian/bootstrap-datepicker-rails https://bootstrap-datepicker.readthedocs.org/en/latest/ –

+0

i über diese gekommen sind, habe ich hier was begegnet, ist wahrscheinlich über das fehlende Wissen, Code für Ansichten in Schienen zu schreiben. Trotzdem danke. – Snailwalker

+1

Die Verwendung von Datenhash ist auch eine Option ': data => {: provide =>: datepicker}' – mlt