如何获取 ruby 中对象的属性?
How do I get the attributes of an object in ruby?
我是 Ruby 和 Rails 的新手。我一直在尝试查看所有用户的工作情况,但不确定自己做错了什么。
我的观点是:
<% provide(:title, "View all Users") %>
<h1>Users#viewall</h1>
<p>Find me in app/views/users/viewall.html.erb</p>
<%
@users = User.all
@users.each do |user|
user.name
end
%>
它的输出是数据库中对象的列表,包含对象的所有数据。当我只想定位(例如)名称时,它不起作用。
[#<User id: 1, name: "user name", email: "mail@mail.com", created_at: "2016-08-03 15:40:41", updated_at: "2016-08-03 15:40:41", password_digest: "a$KmWWK86H/dj.HAp9zcHOUOCbph1rawIer41kyH4dIrV...">]
我在这里错过了什么?我什至不确定要 google 做什么,因为我不知道循环吐出什么。
您需要输出信息。所以在 ERB 中,当你有一个像这样的标签时:
<% i = 4 %>
执行代码。当你有:
<%= "hi" %>
输出 return 值。所以你真正想要的是:
<% User.all.each do |user| %>
<%= user.name %>
<% end %>
你应该对用户做的是在你的控制器中设置一个实例变量:
def viewall
@users = User.all
end
然后在你的视图中使用它:
<% @users.each do |user| %>
<%= user.name %>
<% end %>
最好不要让 SQL 调用和大量逻辑出现在您的视图之外。利用控制器、模型和助手来做到这一点。
您没有向用户显示数据。
在你的控制器方法中,你应该添加
@users = User.all
在你看来
<% @users.each do |user| %>
<h1><%= user.name %></h1>
<% end %>
- <% %>:这些括号用于计算表达式
- <%= %>:这些括号计算表达式并呈现输出
我是 Ruby 和 Rails 的新手。我一直在尝试查看所有用户的工作情况,但不确定自己做错了什么。
我的观点是:
<% provide(:title, "View all Users") %>
<h1>Users#viewall</h1>
<p>Find me in app/views/users/viewall.html.erb</p>
<%
@users = User.all
@users.each do |user|
user.name
end
%>
它的输出是数据库中对象的列表,包含对象的所有数据。当我只想定位(例如)名称时,它不起作用。
[#<User id: 1, name: "user name", email: "mail@mail.com", created_at: "2016-08-03 15:40:41", updated_at: "2016-08-03 15:40:41", password_digest: "a$KmWWK86H/dj.HAp9zcHOUOCbph1rawIer41kyH4dIrV...">]
我在这里错过了什么?我什至不确定要 google 做什么,因为我不知道循环吐出什么。
您需要输出信息。所以在 ERB 中,当你有一个像这样的标签时:
<% i = 4 %>
执行代码。当你有:
<%= "hi" %>
输出 return 值。所以你真正想要的是:
<% User.all.each do |user| %>
<%= user.name %>
<% end %>
你应该对用户做的是在你的控制器中设置一个实例变量:
def viewall
@users = User.all
end
然后在你的视图中使用它:
<% @users.each do |user| %>
<%= user.name %>
<% end %>
最好不要让 SQL 调用和大量逻辑出现在您的视图之外。利用控制器、模型和助手来做到这一点。
您没有向用户显示数据。
在你的控制器方法中,你应该添加
@users = User.all
在你看来
<% @users.each do |user| %>
<h1><%= user.name %></h1>
<% end %>
- <% %>:这些括号用于计算表达式
- <%= %>:这些括号计算表达式并呈现输出