所以我在我的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'
部分,而不是其余部分。那是为什么?
提前致谢!
答案 0 :(得分:2)
这是一个分组优先级问题,+ 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