Ruby on rails 检索';名称';来自model.model.name
我想通过模型Ruby on rails 检索';名称';来自model.model.name,ruby-on-rails,ruby,Ruby On Rails,Ruby,我想通过模型事件从模型组织者获取名称值 我的班级组织者: class Organiser < ActiveRecord::Base belongs_to :customer has_many :events end 在Grails中,这是一个简单的调用: def eventInstance = Event.find.... def organiserInstance = eventInstance.organiser OrganizerInstance.name给了我组织者的
事件
从模型组织者
获取名称值
我的班级组织者
:
class Organiser < ActiveRecord::Base
belongs_to :customer
has_many :events
end
在Grails中,这是一个简单的调用:
def eventInstance = Event.find....
def organiserInstance = eventInstance.organiser
OrganizerInstance.name
给了我组织者的名字
这在RubyonRails中是如何实现的?我试过:
@orgName = @eventInstance.organiser.name
但是我得到了一个错误:
undefined method `organiser' for #<Event::ActiveRecord_Relation:0x007f86152ef098>
的未定义方法“Organizer”#
该错误意味着您的@eventInstance
实际上是一个集合,而不是单个实例
您需要首先将@eventInstance
设置为事件
模型的单个实例。那么您的代码就可以工作了:
@eventInstance = Event.first
@orgName = @eventInstance.organizer.name
p.S.Ruby约定使用snake case而不是camel case调用变量:
@event_instance = Event.first
@org_name = @event_instance.organizer.name
不,不是。这是一个单一的例子@eventInstance=Event.where(eventcode:session[:key])给了我一个record@diedaaf它为您提供了一个包含单个记录的集合。您希望将其设置为
Event.where(eventcode:session[:key])。首先
获取单个记录。Event.where(evencode:session[:key]给了我一张记录,因为只有一个记录key@diedaaf你读过我写的东西吗?返回给你一个集合。只要照我的建议去做,并确保它是你所需要的。我链接了文档,如果你喜欢的话请通读。我的观点是正确的。第一个是方法。这与Grails不同;-)谢谢!!真的,真的很肤浅的挑剔:Rails都是关于约定而不是配置的,当你坚持它的命名约定()时,它真的很有冲击力。你肯定会避免未来,否则,如果你遵循它,头痛是可以避免的。:)
@event_instance = Event.first
@org_name = @event_instance.organizer.name