enter code here
在rails 7和ruby版本3.2.0上我的方法返回nil,即使它得到了数据。我正在按照教程来构建一个应用程序。
在我的预订视图中,news.html.erb包含<% if @booking_type.payment_required? %>
所述预订控制器
def new
@booking = Booking.new
@booking_type = BookingType.find_by(name: params[:booking_type])
end
def booking_params
params.require(:booking).permit(:booking_type_id, :status, :name, :email, :start_at, :end_at, :notes)
end
预订类型控制器参数
def booking_type_params
params.require(:booking_type).permit(:name, :location, :description, :color, :duration, :payment_required, :price, :user_id)
end
在bookings控制器中创建booking_type示例之后
@booking_type = BookingType.find_by(name: params[:booking_type])
对于视图中的payment_required方法,我仍然得到未定义的nil方法'payment_required?':NilClass
1条答案
按热度按时间mznpcxlj1#
在该方法中:
它应该接收一个
booking_type
参数。如果没有设置该参数或者没有具有该名称的BookingType记录,则@booking_type
变量将为nil,导致undefined method
payment_required?' for nil:NilClass'错误。