如何在 rails 上为 ruby 中的对象取值
How to take value for Object result in ruby on rails
我想从对象结果中打印特定值。这是我正在执行 SQL 查询并从视图 table 中获取所有数据,所有数据来自 "Employee_Information" 视图(table)。
hr_controller.rb
class HrController < ApplicationController
def internal_employee_page
@employees = MysqlConnection.connection.select_all("SELECT * FROM Employee_Information")
end
end
internal_employee_page.html.erb这是我的第一个观点
<div id="job_details">
<% @employees.each do |emp| %>
<%= render partial: "hr/employee_details", locals: {emp: emp} %>
<% end %>
</div>
_employee_details.html.erb这是我的第二个观点
<h3> User Name : <%= emp%> </h3>
像这样我正在尝试打印所有值
然后我得到了以下结果
我想打印每个值
我在第二个视图中也尝试过
<h3> User Name : <%= emp.full_name%> </h3>
但是我得到了错误:
请帮助我,我根据我的知识尝试了每件事,我哪里错了,有什么问题
<h3> User Name : <%= emp.full_name%> </h3>
full_name 不是员工实例的属性,这就是您收到此错误的原因。尝试获取该员工实例中存在的特定属性。
试试这个:
<h3> User Name : <%= emp["full_name"] %> </h3>
您正在尝试从哈希中读取值,因此 emp.full_name
将不起作用,您可以从哈希中读取值,例如 Hash['key']
所以 full_name 做 <%= emp['full_name'] %>
现在,您的响应对象只是简单的 Hash
对象,要访问键的值,您需要使用 Hash
方法,例如 []
或 fetch
检索值。如果您想要更多类似语法的方法,您可以执行以下操作之一:
- 使用 ActiveRecord 或其他 ORM 映射器
- 自己创建动态或静态 类 并将结果映射到它们
- Monkey Patch Hash 用类似
method_missing
的东西来伪造这个概念
我想从对象结果中打印特定值。这是我正在执行 SQL 查询并从视图 table 中获取所有数据,所有数据来自 "Employee_Information" 视图(table)。 hr_controller.rb
class HrController < ApplicationController
def internal_employee_page
@employees = MysqlConnection.connection.select_all("SELECT * FROM Employee_Information")
end
end
internal_employee_page.html.erb这是我的第一个观点
<div id="job_details">
<% @employees.each do |emp| %>
<%= render partial: "hr/employee_details", locals: {emp: emp} %>
<% end %>
</div>
_employee_details.html.erb这是我的第二个观点
<h3> User Name : <%= emp%> </h3>
像这样我正在尝试打印所有值
然后我得到了以下结果
<h3> User Name : <%= emp.full_name%> </h3>
但是我得到了错误:
<h3> User Name : <%= emp.full_name%> </h3>
full_name 不是员工实例的属性,这就是您收到此错误的原因。尝试获取该员工实例中存在的特定属性。
试试这个:
<h3> User Name : <%= emp["full_name"] %> </h3>
您正在尝试从哈希中读取值,因此 emp.full_name
将不起作用,您可以从哈希中读取值,例如 Hash['key']
所以 full_name 做 <%= emp['full_name'] %>
现在,您的响应对象只是简单的 Hash
对象,要访问键的值,您需要使用 Hash
方法,例如 []
或 fetch
检索值。如果您想要更多类似语法的方法,您可以执行以下操作之一:
- 使用 ActiveRecord 或其他 ORM 映射器
- 自己创建动态或静态 类 并将结果映射到它们
- Monkey Patch Hash 用类似
method_missing
的东西来伪造这个概念