ruby one-liner 这可能吗?

发布于 2024-09-04 13:23:06 字数 259 浏览 7 评论 0原文

有没有可能将第二条和第三条线合并成一条线,并希望节省一条有价值的线?

def self.date_format
  record = find_by_key('strftime')
  record ? record.value : "%Y-%b-%d'
end

Config 模型中的上述函数尝试通过键获取数据库记录,如果在数据库中找不到则返回默认值。

如果可以写在命名范围内就更好了。谢谢

Any chance the 2nd and 3rd lines can be combined in an one-liner and hopefully save one valuable?

def self.date_format
  record = find_by_key('strftime')
  record ? record.value : "%Y-%b-%d'
end

the above function in a Config model try to fetch a database record by a key, return a default if not found in database.

Even better if can be written in named scope. Thanks

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

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

发布评论

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

评论(4

秋心╮凉 2024-09-11 13:23:06

按要求。

还没有人提到尝试,这对于这种情况来说是完美的:

value = find_by_key('strftime').try(:value) || “%Y-%b-%d”

As requested.

Nobody yet has mentioned try, which is perfect for this situation:

value = find_by_key('strftime').try(:value) || "%Y-%b-%d"

舂唻埖巳落 2024-09-11 13:23:06

您可以使用:

(find_by_key('strftime').value rescue nil) || "%Y-%b-%d"

虽然使用异常不是很有效。

You could use:

(find_by_key('strftime').value rescue nil) || "%Y-%b-%d"

though using exceptions is not very efficient.

寂寞美少年 2024-09-11 13:23:06

吗?

value = find_by_key('strftime') || "%Y-%b-%d"

对你有用

Does

value = find_by_key('strftime') || "%Y-%b-%d"

work for you?

灵芸 2024-09-11 13:23:06

您是否需要分配一个“值”变量?如果不...

def self.date_format
  find_by_key('strftime') || "%Y-%b-%d"
end

Do you need to assign a "value" variable at all? If not...

def self.date_format
  find_by_key('strftime') || "%Y-%b-%d"
end
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文