【发布时间】:2014-07-12 22:24:50
【问题描述】:
我的 user.rb 模型文件中有以下关联代码
class User < ActiveRecord::Base
has_many :sent_messages, class_name: 'ChatMessage', foreign_key: 'sender_id'
has_many :received_messages, class_name: 'ChatMessage', foreign_key: 'receiver_id'
end
我想要 ChatMessage 模型中的一个方法,该方法应由以下触发
current_user.sent_messages
current_user.received_messages
该方法应该返回被调用的关联的名称。 例如:
class ChatMessage < ActiveRecord::Base
after_find :get_association_name
def get_association_name
self.association_name // this should return sent_message or received_message depending on whether current_user.sent_messages or current_user.received_messages was called
end
end
有没有办法在 Rails 中获取此关联名称? 任何帮助深表感谢。谢谢
【问题讨论】:
-
你能告诉我们你在哪个班级有haS_many关联吗?请填写该代码。
-
已更新代码..请检查
标签: ruby ruby-on-rails-3 callback associations