我正在尝试创建在删除person对象后触发的redirect_to :back
。在触发删除对象代码之前,用户可以有几个页面。如果它们来自person#show
页面,我想重定向到名为admin_persons_path
的路线。如果它们来自任何其他页面,我只希望将用户重定向回他们所在的页面。人员#show页面的网址结构为localhost:3000/admin/persons/[some_id_number]
。我正在尝试编写读取引用URL的代码并相应地重定向。我正在尝试做类似的事情:
if request.referer.end_with?(some regular expression)
redirect_to :back
else
redirect_to admin_persons_path
end
问题是我不认为end_with?方法可以接受正则表达式,因为当我用正则表达式尝试它时我得到错误:
TypeError: no implicit conversion of Regexp into String
如何让它发挥作用?
请注意,使用redirect_back(fallback_location: admin_persons_path)
无效,因为推荐人在技术上存在。如果有一个内置的方法可以实现我想要的东西,我就不知道它了。
答案 0 :(得分:0)
url =“http://www.example.com/articles?page=2”
def last_element_for_url(url)
if /[0-9]/.match(a[a.length-1]).to_a.length > 0
true
else
false
end
end
对于rails,我们可以设置 url = request.original_url
,然后上面的方法将返回true或false,具体取决于url。