Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails chrome&safari中nil:NilClass的未定义方法'strftime',但不是firefox_Ruby On Rails_Ruby - Fatal编程技术网

Ruby on rails chrome&safari中nil:NilClass的未定义方法'strftime',但不是firefox

Ruby on rails chrome&safari中nil:NilClass的未定义方法'strftime',但不是firefox,ruby-on-rails,ruby,Ruby On Rails,Ruby,我正在index.html中为nil:NilClass接收未定义的方法strftime。由于某些原因,这个错误存在于chrome和safari中,但不存在于firefox中。任何帮助都将不胜感激。我的模型、控制器和视图中有以下内容: 用户_meetup.rb def self.request(start_date, start_time, location, description) transaction do start_time = [start_dat

我正在index.html中为nil:NilClass接收未定义的方法strftime。由于某些原因,这个错误存在于chrome和safari中,但不存在于firefox中。任何帮助都将不胜感激。我的模型、控制器和视图中有以下内容:

用户_meetup.rb

def self.request(start_date, start_time, location, description)
  transaction do            
    start_time = [start_date, start_time].join(' ').to_time unless start_time.blank?

    meetup1 = UserMeetup.create!(start_time: start_time, location: location, description: description)
    meetup2 = UserMeetup.create!(start_time: start_time, location: location, description: description)
  end
end

def time
  start_time.strftime("%l:%M %P")
end

def date
  start_time.strftime("%B %e,  %Y")
end
user_meetups_controller.rb:

class UserMeetupsController < ApplicationController
  before_filter :authenticate_user!
  respond_to :html, :js

  def index
    @user_meetups = current_user.user_meetups
  end
您需要在视图代码中使用@user_meetups来访问这些数据,Rails始终将实例变量从控制器传递到视图


保重

下面这行是错误的

 def self.request(start_date,...) do

    start_time = [start_date, start_time].join(' ').to_time unless start_time.blank? # <= This line
    ...
  end
当开始时间为零或时,将不会分配该时间

由于变量start_time为空,您可能正在查找: 开始时间=[开始日期,开始时间]。将“”加入到开始时间


通常,我会避免使用此处使用的属性名称[开始日期,…]对于用作start_date=

的局部变量,meetup列表是通过current_user(即current_user.user_meetup)访问的,因此这不是问题所在。也不知道这是否有帮助,但meetup.date和meetup.time在firefox中有效,但在chrome或Safari中无效。看起来你有一个没有开始时间的meetup?你说了meetup.date和meetup.timemeetup.time在chrome和safari中工作,但在firefox中不工作。我不明白。数据由rails服务器上的erb模板引擎呈现,纯HTML发送到浏览器,浏览器将HTML绘制到其窗口。这意味着发送到chrome和safari的HTML将是发送到firefox的相同标记。简言之,浏览器不处理erb模板。
 def self.request(start_date,...) do

    start_time = [start_date, start_time].join(' ').to_time unless start_time.blank? # <= This line
    ...
  end