我花了很多时间研究这个,但似乎无法找到解决方案。我在Rails 4上并使用Devise进行身份验证。
我的问题:我正在使用一个单一视图进行用户登录(views / devise / sessions / new.html.erb)。我想根据目标网址/路径自定义视图的H1文本。
例如:对于所有目标路径显示“帐户登录”。如果目标路径为seller_onboarding_path,则显示“为了登船,请先登录”。
我不知道如何捕捉目标路径...
有什么建议吗?
非常感谢!
答案 0 :(得分:1)
我找到了解决自己问题的方法。不确定它是最优雅的但是有效。
在我的观点(登录表单)上,我检查 会话[" user_return_to"] 的值。它包含目标页面的值。根据该值,我选择要显示的正确标题。
答案 1 :(得分:0)
您可以在设计的RegistrationsController
中存储带有前置过滤器的最后一页路径。它看起来像这样:
class RegistrationsController < Devise::RegistrationsController
before_filter :store_history
private
def store_history
@last_page = request.url
end
end
在此之后,您可以使用if.. else
中的views/devise/sessions/new.html.erb
语句检查最后一页用户访问的内容,并相应地显示您的H1
标记文字。