如果要跟随的变量具有值,我想在其前添加一个'/';否则,如果它为nil,则将其保留为nil
l2, follow = params[:all].split('/', 2)
follow = follow.nil? ? follow : "/#{follow}"
redirect_to "#{my_path(locale: locale, l2: l2)}#{rest}"
params [:all]这里可能是
这样的网址路径esp
esp/article/1
esp/article/1/author/1
编辑: 我的方法可行,但想知道是否有更好的方法
答案 0 :(得分:4)
follow.nil? ? follow : "/#{follow}"
由于Ruby
具有String#prepend方法,因此可以通过以下方式重构代码:
follow && follow.prepend("/")
或者由于Ruby 2.3
具有安全的导航功能,因此可以将其表达得更加简洁:
follow&.prepend("/")