将变量设置为三元

发布于 2024-11-29 11:13:10 字数 312 浏览 1 评论 0原文

我正在尝试在视图中渲染部分内容。当调用渲染时,我正确地传递了 :locals 。但是,当尝试将分部视图中的局部变量设置为三元时,语句的“else”逻辑不会被传递。

@local_var = pass_var ? pass_var : ''

||= 运算符在这种情况下无法实现我想要实现的目标。

@local_var = 'wrapping_text_open' + pass_var + 'wrapping_text_close' ||= ''

I'm trying to render a partial within a view. When calling the render I'm passing :locals correctly. However, when trying to set the local variable in the partial view to a ternary, the 'else' logic of the statement does not get passed.

@local_var = passed_var ? passed_var : ''

The ||= operator will not work in this instance for what I'm trying to achieve.

@local_var = 'wrapping_text_open' + passed_var + 'wrapping_text_close' ||= ''

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

多情癖 2024-12-06 11:13:10

我从不使用这个,但你可以这样做

local_var = (defined? passed_var) ? passed_var : ""

local_var = (defined? passed_var) ? 'wrapping_text_open' + passed_var + 'wrapping_text_close' : ''

为什么使用实例变量?

I never use this, but you could do

local_var = (defined? passed_var) ? passed_var : ""

local_var = (defined? passed_var) ? 'wrapping_text_open' + passed_var + 'wrapping_text_close' : ''

Why use an instance variable?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文