undefined方法`longitude ='代表nil:NilClass

Ngo*_*Van 0 ruby ruby-on-rails

我是RoR的新手.我在Ruby 1.9.3中编程,Rails 3.2在我的模型中:

class SharedInfo < ActiveRecord::Base
  attr_accessible :shared_info_type_id, :severity_id, :source_info_id, :created_date
end
Run Code Online (Sandbox Code Playgroud)

在我的控制器中:

@sharedinfo = SharedInfo.new(params[:shareinfo])
@sharedInfo.longitude = params[:longitude][:value]
@sharedInfo.latitude = params[:latitude][:value]
@sharedInfo.save
Run Code Online (Sandbox Code Playgroud)

当它执行它.浏览器引导错误:"未定义方法`longitude ='为nil:NilClass"有没有人帮我解决这个问题?非常感谢你!

Dan*_*rth 5

你这里有一个错字.Ruby区分大小写.您初始化@sharedinfo但稍后使用@sharedInfo.

通过I在第一行使用大写来修复它:

@sharedInfo = SharedInfo.new(params[:shareinfo])
Run Code Online (Sandbox Code Playgroud)

  • CamelCase在ruby中并不常见,我建议命名变量`@ shared_info` (3认同)