0

我正在尝试做类似链接“更多”的事情。但是我在视图中出现错误“nil:NilClass 的未定义方法‘每个’”

控制器

WHO_IS_OUT_LIST_PER_PAGE = 6

def show_who_is_out_list
    @offset = params[:offset].to_i
    get_who_is_out_list
    render 'show_who_is_out_list', layout: false
  end

private
    def get_who_is_out_list
      data = current_company.time_off_requests.page(@offset, WHO_IS_OUT_LIST_PER_PAGE)
      @offset = (data.length < WHO_IS_OUT_LIST_PER_PAGE) ? nil : @offset + WHO_IS_OUT_LIST_PER_PAGE
      @who_is_out_list = data
    end

在模型中,我有一个范围

scope :page, ->(offset, limit) { order("start_date desc").limit(limit).offset(offset) }

查看 show_who_is_out_list - js

:plain
  $("#who-is-out").html("#{escape_javascript(render 'who_is_out')}");

这是有错误的部分

%header.box-header-title.clearfix
  %h1.header-h1 Who’s out?
  %a.box-header-link{:href => "/time_off_requests/manage"} View Calendar
%ul.list.sidebar-list
  %li.clearfix
  - @who_is_out_list.each do |t|
    %td= t.user.full_name
    -if (t.start_date == t.end_date and t.start_date >= Date.today)
      %span= t.start_date.strftime("%b %d")
      %br
    -else
      %span= "#{t.start_date.strftime("%b %d")}"' - '"#{t.end_date.strftime("%b %d")}"
      %br
  %li.clearfix
    = link_to t('Back'), show_who_is_out_list_path(offset: 0), remote: true, class: 'btn'
    - if @offset.present?
      = link_to t('next'), show_who_is_out_list_path(offset: @offset), remote: true, class: 'btn'

路线

resource :time_off_request, only: :all do
    get 'show_who_is_out_list'
  end

怎么了?我几乎是初级 RoR 开发人员,我必须用 ajax 编写它(你能帮我吗?

4

1 回答 1

0

我假设这里的问题在于@who_is_out_list = data您只是在调用each它。

尝试这个:

@who_is_out_list = data if data.exists?
于 2013-09-27T17:01:54.907 回答