目前我正在开发CRM应用程序作为演示项目。目前,我很难绕过如何从另一个对象访问一个对象的属性。我正在尝试做一些事情:
<%= note.client.first_name %>
在这种情况下,我为每个客户提供了一个注释,并在两者之间建立了适当的关联。模型看起来像这样:
class Note < ActiveRecord::Base
belongs_to :client
belongs_to :user
end
class Client < ActiveRecord::Base
has_many :users
has_many :notes
end
数据库看起来像这样:
class CreateUsers < ActiveRecord::Migration
def change
create_table :users do |t|
t.string :first_name
t.string :last_name
t.string :designation
t.string :phone
t.string :email
t.string :password_digest
t.timestamps
end
end
end
是否有任何简单的方法可以访问与注释相关联的客户端ID的:first_name属性?
答案 0 :(得分:1)
使用delegate
方法:
class Note < ActiveRecord::Base
delegate :first_name, to: :client
end
然后在您的视图中,您可以从委派给它的对象访问委托属性:
<%= note.first_name %>