Verwenden von Rails Form-Helfern mit serialisierten benutzerdefinierten Klassen

Ich versuche, einen Hash von Optionen in einem einzelnen DB-Feld zu speichern. Das Formular kann die Daten in der Datenbank speichern, sie jedoch nicht erneut abrufen, wenn ich sie bearbeite (z. B. sind alle anderen Felder mit Ausnahme der Felder wp_options bereits ausgefüllt).

class Profile < ActiveRecord::Base  
 serialize :wp_options  
end

Dies ist meine benutzerdefinierte Klasse:

class WP_Options
 attr_accessor :wp_name, :wp_desc, :wp_limit
end

In meinem Formular:

<%= form_for(@profile, :remote => true) do |f| %>
 ...
   <%= f.fields_for :wp_options do |wp_options| %>
      <%= wp_options.text_field :wp_name  %>
   <% end %>
 ...

In meinem Controller:

@profile = Profile.new(:wp_options => WP_Options.new)

In meiner DB-Spalte 'wp_options':

--- !map:ActiveSupport::HashWithIndifferentAccess 
wp_name: Test  

Jeder Rat wäre sehr dankbar.

Antworten auf die Frage(6)

Ihre Antwort auf die Frage