我正在尝试将 Ruby 嵌入到 JS.erb 文件中,我希望能够在其中访问 @user 对象及其所有关系。
- 我不想转换为 JSON 对象。我希望 ERB 在服务器端进行预编译。
- 我不想在视图中迭代,而是在 JS 文件中迭代。我应该如何构建我的控制器/视图/js.erb 文件以使其工作?
控制器 - user_controller
class UsersController < ApplicationController
def index
end
end
模型 - user.rb
class User < ActiveRecord::Base
attr_accessible :email, :first_name, :last_name
has_many :qualification_rs
end
查看 - Users.html.erb 是空白的(我想纯粹从 JS 获取我的代码)
<html>
<body>
</body>
</html>
Javascript 资产 - users.js.erb
$(document).ready(function(){
<% @users.each do |user| %>
$('body').append(<% = user.first_name%>);
<%end%>
});
出现以下错误
"undefined method `each' for nil:NilClass" 即它无法识别 js 文件中的@users。(它在我从中包含 javascript 标记的 user.html.erb 文件中执行。我还要做什么才能让实例对象在 js 文件中被识别?