In meinem Ich habe eine Datumsauswahl, die das ausgewählte Datum im Format %m/%d/%Y
an den Server übergibt. Beispiel: "30.05.2016".Erstellen von Schienenobjekt mit Datumsattribut im Format "% m /% d /% Y"
Im create
Aktion, wenn ich das Objekt mit den übergebenen in params instanziiert: Schienen versteht nicht, wie das Datum Attribut initialisiert werden basierend auf dem Format das Datum in durch die Parameter übergeben wird, so dass es nur das Datum Attribut legt zu Null. Beispiel:
#blogs_controller.rb
class BlogsController < ApplicationController
def create
@blog = Blog.new(blog_params) # does not understand how to initialize the some_date attribute based on the format it is passed in as, so it initializes the some_date attribute to nil
@blog.save
redirect_to some_path
end
private
def blog_params
params.require(:blog).permit(:some_date)
end
end
This question schlägt eine initializer Datei zu erstellen, die es macht, so dass Schienen wird dieses Format verstehen, wenn es in die Parameter übergeben wird, aber es hat nicht funktioniert für mich. Es wird noch initialisiert das Datum auf Null:
#initializers/date_format.rb
Date::DATE_FORMATS[:default] = "%m/%d/%Y"
ich dies auch in dieser initializer Datei versucht, und es gab einige Fehler mit ihm so würden Schienen nicht einmal den Server starten:
ActiveSupport::CoreExtensions::Date::Conversions::DATE_FORMATS[:default] = '%m/%d/%Y'
Frage: Wie kann ich es so einrichten, dass, wenn ein Datumsattribut im Format %m/%d/%Y
übergeben wird: Rails weiß, wie man dieses Attribut richtig setzt und das Objekt erfolgreich in der Datenbank speichert?
Hat Schienen diese Methode automatisch anrufen, wenn ich rufe 'Blog.new (blog_params)'? Es wirft derzeit einen Argumentfehler auf: falsche Anzahl von Argumenten (1 gegeben, erwartet 2). Ich habe versucht, die Dokumente auf '# write_attribute' zu betrachten und bin mir nicht ganz sicher, wie ich diesen Wert erfassen soll, wenn er dieses Objekt im Kontext von' access_nested_attributes' erzeugt, weil dieses Attribut innerhalb von params anders übergeben wird. http://apidock.com/rails/ActiveRecord/AttributeMethods/Write/write_attribute – Neil
Danke spickermann! Du bist und warst ein Lebensretter !!! – Neil