如何在三元条件下使用“#redirect to '/path'”方法?
How can I use the "#redirect to '/path'" method in a ternary condition?
我正在处理我的 Sinatra 控制器文件中的不同路由,这些路由在某种情况下 #redirect 到其他路由。
但是,我想清理代码并使用三元条件而不是完整的 if/else/end 条件保存 space。
我的问题是我怎样才能把这个:
if Helpers.is_logged_in?(session)
erb :"tweets/show"
else
redirect to "/login"
end
进入这个:
Helpers.is_logged_in?(session) ? erb(:"tweets/show") : redirect to "/login"
没有#redirect to "/path" 方法导致语法错误?
Helpers.is_logged_in?(session) ? erb(:"tweets/show") : redirect("/login")
或
(Helpers.is_logged_in? session) ? (erb :"tweets/show") : (redirect "/login")
两者之间我更喜欢前者;但我非常喜欢你的原始代码。在源代码中“保存 space”(除了 DRYing)不是一个有意义的追求,除了在混淆竞赛中。
我正在处理我的 Sinatra 控制器文件中的不同路由,这些路由在某种情况下 #redirect 到其他路由。 但是,我想清理代码并使用三元条件而不是完整的 if/else/end 条件保存 space。
我的问题是我怎样才能把这个:
if Helpers.is_logged_in?(session)
erb :"tweets/show"
else
redirect to "/login"
end
进入这个:
Helpers.is_logged_in?(session) ? erb(:"tweets/show") : redirect to "/login"
没有#redirect to "/path" 方法导致语法错误?
Helpers.is_logged_in?(session) ? erb(:"tweets/show") : redirect("/login")
或
(Helpers.is_logged_in? session) ? (erb :"tweets/show") : (redirect "/login")
两者之间我更喜欢前者;但我非常喜欢你的原始代码。在源代码中“保存 space”(除了 DRYing)不是一个有意义的追求,除了在混淆竞赛中。