ruby-on-rails - 简单的 if 语句到 Ruby 中的 Tenerary
问题描述
我是 Rails 新手,想知道以下问题:
有没有办法进一步简化这个?
animal = Animal.find_by(name:name, type:type)
if !animal
animal = Animal.create(name:name, type:type)
我正在考虑使用三元表达式,但我想知道如何在不重复代码的情况下编写它,或者这是否是正确的做法。
animal = Animal.find_by(name:name, type:type) ? Animal.find_by(name:name, type:type) : Animal.create(name:name, type:type);
解决方案
animal = Animal.find_or_create_by(name: name, type: type)
推荐阅读
- c++ - 为什么 ofstream 在这里工作,而不是 fstream?
- awk - 删除搜索模式之间的文本/行
- python - 如何检查传递给 filter() 函数的内容
- amazon-dynamodb - 多租户应用程序的 DynamoDB 安全性
- mysql - 如果不存在则创建表与显示表之类
- reactjs - 在危险地反应SetInnerHTML中将json显示为html
- r - 在 TOC 之前将代码添加到 Bookdown gitbook 模板
- swift - Xcode 搜索栏对更改文本或取消单击没有反应
- wordpress - Wordpress 清除页面模板的模板缓存?
- linux - Git克隆/从Windows拉到本地网络中的树莓派