ich zwei Modellklasse genannt order.rb und customer.rb haben:Wie ich Zugang zu einem anderen Modellklasse bekommen kann Attribute
order.rb
class Order < ActiveRecord::Base
belongs_to :customer
validates :customer_id, :name, :age, :presence => true
def self.to_csv
attributes = %w{ to_param name age }
CSV.generate(headers: true) do |csv|
csv << attributes
all.each do |t|
csv << attributes.map{ |attr| t.send(attr) }
end
end
end
customer.rb
class Customer < ActiveRecord::Base
belongs_to :order, primary_key: "customer_id"
has_many :orders
validates :phone_number, :name,:email,:presence => true, allow_blank: true
Meine Frage ist, wie bekomme ich die customer.rb
Daten wie es E-Mail und Name Attribute. Dann fügen Sie es zu den order.rb
Daten hinzu. Wenn Sie das order.rb
Modell betrachten, kann ich seine Attribute erhalten, die aufgelistet werden: Name und Alter, aber ich versuche, die customer.rb
Attribute wie die E-Mail, den Namen und die Telefonnummer zu erhalten. Ich kann jedoch nur auf eine E-Mail zugreifen, wenn ich die unten abgebildete Methode anwende und die gleiche E-Mail immer wieder ausdrucke. Danke im Voraus, wenn mir jemand helfen kann.
def to_param
Customer.new.email
Customer.all.first.email
end
Warum haben Sie in dem Modell "gehört_zu" Zuordnungen. Wie es aussieht, sollte es Kunden 'has_many' Bestellungen sein. Ist es nicht? – dp7
@dkp Ich habe vergessen, es zu meinem Modell hinzuzufügen, aber ich ging zurück und ändere es. – user2803053
Sie haben es zu "Order" modal hinzugefügt, Sie sollten es stattdessen zu 'Customer' Modell hinzufügen, wie dies' has_many: orders' – dp7