我正在尝试构建一个非常简单的页面,我需要在其中为照片库生成一些动态 JavaScript。一些直观简单的东西,但我正在努力解决这个问题。在我的控制器中,我正在构建一个Photo
as列表@photos
,然后需要为我的photo.js.erb
文件中的每张照片迭代出一些 JavaScript。
但是,每当我到达我的 .js.erb 文件时,@photos
变量就会变为 nil ......我错过了什么?
控制器/photos_controller.rb文件:
class PhotosController < ApplicationController
layout "application_photos"
def category
@photos = ...(generates collection of Photos)...
end
end
视图/照片/category.html.haml文件:
= content_for :head do
// @photos is still initialized at this point
= javascript_include_tag "photos"
// This partial only loads some more markup, it's inconsequential.
= render :partial => 'default_slideshow'
javascripts/photos.js.erb文件:
jQuery(function($){
// Throws NilClass error
<% puts 'Photos: ' + @photos %>
});
我知道这个问题已经被问过十几次了,但以前接受的答案都没有真正对我有用。非常感谢任何建议。