[英]Syntax to conditional import CSV in Rails
以下導入方法需要處理設置為nil的輸入變量
def self.import(file, unit_id, profit_center_column [...]
CSV.foreach(file.path, :col_sep => "\t", headers: true, skip_blanks: true) do |row|
begin
Asset.create(
unit_id: unit_id,
profit_center_id: row[profit_center_column] unless profit_center_column.nil?,
[...]
啟動此方法的控制器在哪里定義
params[:profit_center_column] = @unit.profit_center_column
其中@unit.profit_center_column = nil
。
我遇到了意想不到的syntax error, unexpected modifier_unless, expecting ')'
unless
syntax error, unexpected modifier_unless, expecting ')'
unless
在使用之前我從未用過括號, unless
我希望在這里使用逗號來清楚地分隔語句。 語法哪里弄亂了?
Rails 4.2.4和Ruby 2.3.4正在使用中。
注意,我也嘗試過if語句,但是導致加載隨機的xxx_column信息。
您正在將一個條件傳遞給Asset的構造函數。 如果您需要解決此問題,建議您首先使用確保不為nil的值初始化Asset
,然后再對其余屬性使用設置器:
asset = Asset.new(
unit_id: unit_id,
....
asset.profit_center_id = row[profit_center_column] unless profit_center_column.nil?
asset.save
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.