我正在尝试使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'