render:layout => '应用'与kaminari冲突

时间:2016-02-06 02:35:35

标签: javascript ruby-on-rails ajax kaminari slim-lang

我正在尝试使kaminari ajax按钮工作,但我有一个问题似乎导致错误并停止kaminari工作。

index.controller.rb

  def index
    @works = Work.page params[:page].per(10)
    respond_to do |format|
      format.html
      format.js
    end
    render :layout => 'application'
  end

并且它返回错误...

undefined method `each' for nil:NilClass

以下是我在视图文件中的内容。 root.html.slim

= render "layouts/alert"


.mainWrapper.cf
  #workWrapper.cf
    #intro
      h1
        | foriio is a platform for creators.
        br
        | We aim to bring portfolio to all creators.
      p
        | We think, it shouldn’t matter whether you can code or not.
        br
        | Nor whether you know how to use photoshop.
        br
        | So we aim to make things a lot easier for creators to make portfolio.
    #howto
      ul
        li.one-third.column
          = image_tag "step1.png"
          | 1. Sign in with your facebook account
        li.one-third.column
          = image_tag "step2.png"
          | 2. Submit your work, and your portfolio is now ready!
        li.one-third.column
          = image_tag "step3.png"
          | 3. Tag collaborators such as Stylists, Make up artists, etc.
          br
          | Or tag yourself if you were involved!
    h2.recentTitle Recent uploads
    ul#works
      = render :partial => "works"

这是_works.html.slim

的视图文件
- @works.each do | work |
  = link_to work
    li.works
      span.thumb
        = work_image_of work
      h4 = link_to work.title, work, thumb:true
      p.pull-left
        small
          = work.collaborators.count.to_s
          | collaborators
      p.pull-right
        small
          = link_to 'Edit', edit_work_path(work) if can? :update, work
          | 
          = link_to 'Destroy', work, data: {:confirm => 'Are you sure?'}, :method => :delete  if can? :delete, work
= paginate @works, remote: true

我猜这两个@works ...并且渲染:layout =>应用程序....不能共存??

我怎么能解决这个问题? 提前谢谢!

注意:render:layout => '应用' 加载页眉和页面的其余部分。

我的跟踪日志

Processing by IndexController#root as HTML
  Rendered layouts/_alert.html.slim (0.4ms)
  Rendered index/_works.html.slim (9.9ms)
  Rendered index/root.html.slim (22.9ms)
Completed 500 Internal Server Error in 32ms

NoMethodError - undefined method `each' for nil:NilClass:
  app/views/index/_works.html.slim:1:in `_app_views_index__works_html_slim___3157568365315559456_70136848436740'
  actionview (4.1.5) lib/action_view/template.rb:145:in `block in render'

0 个答案:

没有答案