ruby-on-rails - 更新属性除非空白?

标签 ruby-on-rails ruby activerecord

我有一个现有的项目记录,我正在导入一个 CSV 文件来更新关联的项目属性。但是,CSV 文件通常会包含空白字段,如果相关的 CSV 字段为空白,我不想覆盖现有属性。

像这样:

project.update_attributes(:name => row.field('project_name') unless row.field('project_name').blank?,                                             
                          :owner => row.field('project_owner') unless row.field('project_owner').blank?,
                          :due_date => row.field('project_due_date') unless row.field('project_due_date').blank?)

最佳答案

project.update_attributes({:name => row.field('project_name'),                                                                         
                          :owner => row.field('project_owner'),
                          :due_date => row.field('project_due_date')}.reject{|k,v| v.blank?})

关于ruby-on-rails - 更新属性除非空白?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1531047/

相关文章:

ruby-on-rails - 在 Ruby 的引号中使用通配符运算符?

ruby-on-rails - 为什么 ActiveRecord 在引发 StatementInvalid 错误后返回一个空数组?

ruby-on-rails - 排除事件关系中的条件,如何?

ruby-on-rails - Rails应用程序记录重复请求

ruby-on-rails - 在Ruby On Rails应用中创建视频?

ruby-on-rails - before_filter 没有被称为 Rails 4

json - 如何在 JSON Schema (Ruby) 中生成所需的 "patternProperty"

ruby-on-rails - 无法访问 attr_accessor 定义的变量

ruby-on-rails - Rails where 和 group 子句

ruby-on-rails - Rails 上不同列类型的最佳实践