航班中的NoMethodError#show

时间:2013-05-20 06:10:10

标签: ruby-on-rails methods controllers

显示第3行引发的app / views / flights / show.html.erb:

You have a nil object when you didn't expect it!
The error occurred while evaluating nil.name

Extracted source (around line #3):

1: <p>
2:  <b>Airline Name:</b>

3:  <%= @flight.airline.name %>

当我尝试提交“座位”表单时,上述错误正在发生。

我的航班/演出中有'_new_seat''部分'页面。点击“预订新座位”(提交), 它应该重定向到座位/节目,但它不会..

飞行控制器是否需要额外的方法?请帮助我。

1 个答案:

答案 0 :(得分:2)

您的@flight没有关联airline

要在没有关联airline时解决错误,请写:

@flight.airline.try(:name)

要关联airline。检查@flight对象属性。

首先,检查一下:

class Flight < ActiveRecord::Base
  belongs_to :airline

其次,您在飞行实例中正确设置了airline_id

第三,您的航空公司在航空公司表格中保存了airline_id