- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我在 Rails 5.2 项目中使用以下代码:
c = Country.where(name: "test").first_or_create
c.status = "Old"
c.save
这行得通,但是,我只想在还没有国家时更改状态(所以我只想插入国家,而不是更新)。但是,我还需要稍后在我的代码中使用 c
。
我意识到我可以只做一个 if 语句,但我必须在我的代码中多次做类似的事情,而且似乎必须存在一个捷径。
最佳答案
使用create_with
通过以下:
c = Country.create_with(status: 'old').find_or_create_by(name: 'test')
这将创建 Country
和 status
'old' 和 name
'test' 只有当它没有找到名称为 'test' 的国家时。如果它确实找到了名称为 'test' 的国家/地区,它不会更新状态。
最终,它还会返回 c
中的国家,无论是在找到还是创建之后。
create_with
仅在从关系对象创建新记录时设置属性。
关于ruby-on-rails - first_or_create 只插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51435716/
我真的很喜欢first_or_create方法: # Find the first user named Scarlett or create a new one with a particular
我正在使用 first_or_create 来填充一个包含电子邮件订阅者(称为成员)列表的表。代码如下: def community_members=(members) sel
我在 Rails 5.2 项目中使用以下代码: c = Country.where(name: "test").first_or_create c.status = "Old" c.save 这行得通
我有这个哈希,它是动态构建的: additional_values = {"grouping_id"=>1} 我想在通过 first_or_create 创建后将其与此记录对象合并: result =
我想区分由 first_or_create 搜索或创建。 record = MasterRecord.where(:name=>'test_data').firest_or_create # and
我的两个模型User和Submission如下: class User {:message => "Please enter a valid email address" } validates
我的应用程序的目标是仅显示包含现有数据的表单页面或新的空白表单。我通过使用在创建用户时创建空白记录的回调来完成此操作。 用户模型: before_create :build_health_profil
我像这样调用 first_or_create : collection = Collection.first_or_create(:title => title) 有没有办法确定结果是现有条目还是新创
我正在关注 Ryan 的 Omniauth with Devise rails 广播。部分代码是: class User "provider_id pass by auth", :uid => "u
我的模型表中有这个索引: UNIQUE KEY `index_panel_user_offer_visits_on_offer_id_and_panel_user_id` (`offer_id`,`p
您好,我有一个非常基本的 csv 导入器,用户可以使用它来导入项目。项目属于:part_number 当用户导入我要首先添加或创建的项目时,通过名称查找或创建零件号。我想要的 CSV 文件列 name
我有一个 ruby 脚本,可以将 XML 文件导入 MySQL 数据库。它通过循环遍历 XML 文件中的元素来完成此操作,最后 table.where( value: e['
是否有原生的 Sequel 方法来实现 Datamapper 的 first_or_create 方法? 或者我必须组合选择和插入吗? 最佳答案 我认为find_or_create应该适合你。 Lik
提前致歉,rails 新手。 某楼主有N条评论,一条评论有1条楼主 问题:为什么我不创建评论? (返回一个 nil 对象) 在 landlands_controller#create 中:如果凭据已在
first_or_create/first_or_create! 方法在 Rails 中有什么作用? 根据documentation , 方法“没有描述”... 最佳答案 来自Guides 先创建 f
在沙盒模式下通过 Heroku 控制台运行开发代码时,我使用 first_or_create 来测试记录是否存在: Right.where(:language => languag
我是 ActiveRecord 的新手,所以这可能是一个愚蠢的问题:我的方法是这样写的: sample_organizations = [ '37 Signals', 'Fog Creek'] sam
我正在尝试使用这个语句: @vote = Vote.where(:resource_id => params[:id], :user_id => current_user.id).first_or_c
我有用于 omni-auth 身份验证的 User 模型。我已对其进行设置,以便可以使用不同的提供商(如 facebook、google 帐户)进行登录。如果在使用这些提供商注册时电子邮件已在数据库中
为了便于解释,我将使用 SQLite 创建一个全新的 Rails (3.2.13) 项目。 rails new TestApp cd TestApp/ rake db:create rails g m
我是一名优秀的程序员,十分优秀!