Ich habe die folgende Hilfsmethode:
%Vor%Das Problem ist, dass beim Aufruf dieser Methode die test_sets_id übersprungen wird, wenn Daten in der Tabelle in der Entwicklungsumgebung, aber nicht in der Produktionsumgebung eingefügt werden. Die drei anderen Attribute sind gut gespeichert.
Alle Attribute sind in der Tabelle potential_followers definiert.
Ich habe auch alle Attribute in der potential_follower_params-Methode in der potential_followers_controller.rb:
%Vor%test_sets_id ist als Integer in der Tabelle definiert. Ich habe sogar versucht, den Wert von t_id zu harcodieren:
%Vor%Aber es würde immer noch nicht in der Produktion funktionieren.
Hier ist, was in den Modellen / potential_follower.rb:
ist %Vor%Hier ist die Methode in test_sets_contoller.rb:
%Vor%Irgendwelche Ideen?
Wahrscheinlich hat die Produktionsdatenbank nicht das Feld test_sets_id
, aber im Produktionsmodus erstellt rails immer noch den Datenbankdatensatz, während das Feld test_sets_id
des Hashs ignoriert wird. A rake db:migrate RAILS_ENV=production
sollte das Problem lösen.
Sie weichen von den Rails-Konventionen ab. Das "sounds_to" sollte im Schlangenfall und Singular sein, dh:
%Vor% Die Datenbankspalte sollte ebenfalls singulär sein. Daher sollte die Spalte in test_set_id
umbenannt werden.
Was eine belongs_to :test_set
-Deklaration tun wird, ist, dass sie eine test_set_id=
(und auch eine test_set=
-Methode) auf PotentialFollower generiert. Das ist die Konvention für Schienen. Sobald Sie Ihr "anliegendes_to" geändert haben, sollte es jetzt erfolgreich den Wert in Entwicklung und Produktion speichern.
Siehe Ссылка
Tags und Links ruby-on-rails activerecord ruby-on-rails-4 ruby-on-rails-4.2 ruby-2.1.5