你在做什么是好的,pluck(:rel)
总是会返回一个数组。如果你知道你只需要一个相对,只是做
event_rel = current_user.events(:e, :rel).where(id: event_id).limit(1).pluck(:rel).first
如果您使用从GitHub主分支,可以使用first_rel_to
方法,它(连同match_to
)正在改变我使用的方式最近宝石。
event_rel = current_user.events.first_rel_to(event_id)
前两天增加了给它一个ID的能力,如果你从Rubygems中提取它,它将不起作用。 3.0.4中的方法版本不接受一个ID,它只接受一个完整的节点。如果您碰巧装载了节点,则可以在发布的版本中执行event_rel = current_user.events.first_rel_to(event)
。
如果你不想使用采摘,你可以做event_rel = current_user.events.where(id: event_id). limit(1).each_rel.first
。请注意,如果您省略了limit(1)
,那么这将会将这两个节点之间的每个rel都返回给Ruby,因此,除非您知道只打算返回,否则不要使用它。当我这样做时,我通常会添加limit(1)
,即使我只是认为我会得到一个rel,因为我喜欢安全。
我建议你点你的Gemfile在最近提交在Github上,刚刚通过的关于4.0的变化维基新的部分阅读。它很稳定,新功能非常酷。
我们无法得到它与勇气方法工作之上,但与最新的更新到创业板,我们可以使用'event_rel = current_user.events.first_rel_to(事件)' – Clam 2014-11-23 08:58:24