所以我的Rails演示程序中有这样的代码(类似于Draper gem):
def title
h.link_to 'Favor', favor_path(@favor) + asked_or_published? + user_link
end
def asked_or_published?
if asked_favor?
h.content_tag(:p, "published by")
elsif published_favor?
h.content_tag(:p, "asked by")
end
end
def user_link
h.link_to @favor.favor_asker.firstname, h.user_path(@favor.favor_asker)
end
在我看来,我正在调用title
方法。问题是,调用这个方法只返回link_to 'Favor'
部分,而不返回其余部分。为什么?
提前感谢!
这是一个分组优先级问题,+ asked_or_published? + user_link
位被添加到favor_path(@favor)
生成的路径中。不确定他们是否也被正确地逃脱了,但这并不相关。
替换此:
h.link_to 'Favor', favor_path(@favor) + asked_or_published? + user_link
带有:
h.link_to('Favor', favor_path(@favor)) + asked_or_published? + user_link