表格列表如下 - 列表显示空白条目

时间:2013-12-05 12:52:53

标签: ruby-on-rails-3 actionview

我有一个控制器:

class UsersController < ApplicationController

 def departments
    @users_departments = current_user.departments
    @new_department = current_user.department.new
 end

我的观点看起来像这样:

 <%= form_for @new_department, :url => {:action => "departments"} do |f| %>
.
<% end %>

<% @users_departments.each do |dept| %>
  <td><%= dept.name %></td>
  <td><%= dept.employees %></td>
<% end %>

@ users_departments.each ...向我展示了一个空的部门。为什么?以及如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

首先 - 尝试使用REST form_for doc

类似的东西:

<%= form_for @post do |f| %>

将生成在UserController中创建操作的链接

关于@ users_departments.each - 可能在您的数据库current_user.departments.count中 - 返回0

我的意思是说你的数据库中可能没有这样的记录。

答案 1 :(得分:0)

好的,我发现这个神奇的东西被称为懒惰和渴望加载。

我所做的就是改变这一点:

@users_departments = current_user.departments

@users_departments = current_user.departments.find(:all)

如果被调用,Rails似乎会在视图中加载结果。随着“查找”到位,数据库被点击,@users_departments获取“真正”的条目。不像以前那样在视野中。