如果字符串存在,则在前面加上一个字符,否则不存在
Prepend a character if string exists otherwise not
如果变量 follow 有一个值,我想在前面加上一个 '/' 否则如果它是 nil 则保持它为 nil
l2, follow = params[:all].split('/', 2)
follow = follow.nil? ? follow : "/#{follow}"
redirect_to "#{my_path(locale: locale, l2: l2)}#{rest}"
这里的参数[:all] 可以是 url 路径,例如
esp
esp/article/1
esp/article/1/author/1
编辑:
我的方法可行,但想知道是否有更好的方法
follow.nil? ? follow : "/#{follow}"
由于Ruby
有String#prepend方法,代码可以重构如下:
follow && follow.prepend("/")
或者因为Ruby 2.3
有安全导航,所以可以更简洁的表达:
follow&.prepend("/")
如果变量 follow 有一个值,我想在前面加上一个 '/' 否则如果它是 nil 则保持它为 nil
l2, follow = params[:all].split('/', 2)
follow = follow.nil? ? follow : "/#{follow}"
redirect_to "#{my_path(locale: locale, l2: l2)}#{rest}"
这里的参数[:all] 可以是 url 路径,例如
esp
esp/article/1
esp/article/1/author/1
编辑: 我的方法可行,但想知道是否有更好的方法
follow.nil? ? follow : "/#{follow}"
由于Ruby
有String#prepend方法,代码可以重构如下:
follow && follow.prepend("/")
或者因为Ruby 2.3
有安全导航,所以可以更简洁的表达:
follow&.prepend("/")