rails 多个方法中的方法
rails method from multiple methods
所以我的 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
方法。问题是只调用此方法 returns 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
所以我的 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
方法。问题是只调用此方法 returns 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