J'ai un attribut nom du modèle Person.Ruby on Rails: compose l'attribut du modèle à partir des attributs virtuels
Je veux utiliser forme html avec des champs: prenom et nom:
<%= f.text_field first_name%>
<%= f.text_field surname%>
Et je veux composer ces attributs virtuels pour modéliser l'attribut nom.
Quelle est la meilleure façon de le faire?
J'ai essayé d'utiliser composed_of, mais a échoué ...
class Person < ActiveRecord::Base
composed_of :name, :class_name => 'Name', :mapping => %w(name output_name)
end
class Name
attr_reader :output_name
def initialize(first_name, surname)
@output_name = first_name + surname
end
end
@person.attributes= {"name(1s)" => 'Alex', "name(2s)" => 'Bolduin' }
@person.name.should == 'Alex Bolduin'
expected: "Alex Bolduin",
got: #<Name:0x000000049d4c08 @output_name="Alex Bolduin"> (using ==)
J'utilise Ruby on Rails 3, mais je pense que la solution est similaire pour Rails 3 et Rails 2.3
Je veux faire des choses en face, je veux prenom = et nom = faire nom composé – petRUShka
donc le nom composite est celui stocké dans la base de données? – Karl
oui, seulement le nom. – petRUShka