解决 Fixnum 错误

Resolve Fixnum error

我有一个来自 URL 的参数 (params[:authorization]),如您所见:

authorization_selected = params[:authorization]
new_parcel = params[:new_parcel].to_i

puts authorization_selected.class (in the console show type String)
puts new_parcel.class (in the console show type Fixnum)

在我的控制器中,有:

@portability = Portability.new
@portability.employee_id = authorization_selected.employee_id

然而这returns一个错误:

undefined method `employee_id' for 3:Fixnum

我需要两者都是整数。怎么做到的?

您在 authorization_selected 上调用 employee_id 方法,它是一个 String 并且不提供此方法。 显然这是行不通的。你可能想做

@portability = Portability.new
@portability.employee_id = authorization_selected

假设 params[:employee] 包含 employee_id 并且 Portability 是 ActiveModel 或 ActiveRecord。

也许你可以改变你的形式,让值可以通过初始化程序分配?