【问题标题】:Layout view for a model is not working -- Ruby on Rails模型的布局视图不起作用——Ruby on Rails
【发布时间】:2012-07-01 03:00:15
【问题描述】:

我会很感激任何关于可能出错的指针:

# Controller
class UsersController < ApplicationController

def index
@users = User.all
end

# View

    <table>
<tr>
  <th>Name</th>
  <th>UID</th>
  <th></th>
  <th></th>
  <th></th>
</tr>

<% for user in @users %>
<tr>
  <td> <%= user.name %> </td>
  <td> <%= user.uid %> </td>
</tr>
<% end %>
</table>   

# Model - generated using: generate model :name :uid
class User < ActiveRecord::Base
  attr_accessible :name, :uid
end

这就是我得到的“www.myWebAdress.com/users

Name UID

为什么缺少用户列表? Rails 控制台显示三个用户。


这里是“show source”生成的:www.myWebAdress.com/user的源文件

<!DOCTYPE html>
<html>

<head>


</head>

<body  >

</br>
</br>

<div class="container">
</br>
</br>
  <div class="content" align="center">

</br>
</br>

</br>
</br>
   <table>
      <tr>
        <th>Name</th>
        <th>UID</th>
        <th></th>
        <th></th>
        <th></th>
      </tr>

   </table>   
  </div>

</div>


<footer>

</footer>

</body>
</html>

【问题讨论】:

  • 你确定这个控制器是对的吗?你有两个def index。那么模型呢?不应该是:uid 而不是:kid
  • 我很抱歉我的马虎。他们都是错别字。我在从我的代码中剪切和粘贴时出错。我仍然不知道为什么我的代码不起作用。感谢您的帮助!
  • 顺便说一句,我确实重新编辑了上面的代码!
  • 您的视图中没有任何内容暗示索引操作(没有任何动态,那么为什么没有任何内容会导致您期望列表作为输出。)
  • 感谢 Joshua 的评论。我认为它是通过 rails 框架隐含的。这不是真的吗?如果不是,我怎么能明确说明呢?视图位于 app/views/users/index.html.erb。

标签: ruby-on-rails ruby views models


【解决方案1】:

不确定是否是这个原因,但你可以尝试更换

<% for user in @users %>

<% @users.each do |user| %>

【讨论】:

  • 我试过了,我还是有同样的问题。感谢您的帮助!
  • 我会尝试在您的控制器中添加puts @users.inspect 并查看输出是什么。您还可以在看到 3 个用户的控制台中发布输出吗?
  • 当我执行 rails 控制台并输入 User.all 时,我看到三个用户。我会尝试@users.inspect 并让你知道。再次感谢!
  • 我还可以看到三个使用 SQLite 数据库浏览器的用户。
  • 我得到一个空白的方引号。我将 添加到视图文件中。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-10
  • 1970-01-01
  • 1970-01-01
  • 2016-11-04
  • 1970-01-01
相关资源
最近更新 更多