0

无论患者的性别如何,我都想打印出不同的信息。所以我定义了一个带有变量的文本:

p10 = "Bitte Kodierung überprüfen: Kode gilt überwiegend nur für #{@gender} Patienten."

我的代码是这样写的:

if patient.geschlecht == '2' && code.geschlecht == 'm' && code.geschlecht_fehler == 'm'
    @gender = 'männliche'
    @arr << p10
  end
if patient.geschlecht == '1' && code.geschlecht == 'w' && code.geschlecht_fehler == 'k'
    @gender = 'weibliche'
    @arr << p10
end

但不知何故,这行不通,在我看来,我得到了错误:

undefined local variable or method `gender' for #<DiagnoseController:0x50197e0>

那么我做错了什么?或者你将如何打印出不同的信息?

更新_ _ __ _ __ _ __ _ __ _ __ _ __ _ _更新_ __ _ __ _ __ _ _ _ __ _ __

现在我没有错误,但不知何故 @gender 没有在 p10 字符串中插入!怎么了?

4

1 回答 1

0

问题是你p10在那个时候首先定义了@genderdin 曾经存在过。因此,您可以p10在定义性别后将该声明放在两个 if 中。或者只是在 if 中添加差异行arr,就像这样。

flag = false
if patient.geschlecht == '2' && code.geschlecht == 'm' && code.geschlecht_fehler == 'm'
  @gender = 'männliche'
  flag = true
end
if patient.geschlecht == '1' && code.geschlecht == 'w' && code.geschlecht_fehler == 'k'
  @gender = 'weibliche'
  flag = true
end
@arr << "Bitte Kodierung überprüfen: Kode gilt überwiegend nur für #{@gender} Patienten." if flag

@gender总之,在给它赋值之前你不能使用。

于 2013-08-28T09:13:53.233 回答