在HTML.erb(Embedded Ruby)文件中显示JSON信息,通常涉及到将Ruby中的数据结构转换为JSON格式,并嵌入到HTML模板中。以下是实现这一功能的步骤:
假设我们有一个包含用户信息的JSON数据,我们希望在HTML页面上显示这些信息。
# app/controllers/users_controller.rb
class UsersController < ApplicationController
def index
@users = [
{ id: 1, name: 'Alice', email: 'alice@example.com' },
{ id: 2, name: 'Bob', email: 'bob@example.com' }
]
end
end
<!-- app/views/users/index.html.erb -->
<!DOCTYPE html>
<html>
<head>
<title>User List</title>
</head>
<body>
<h1>User List</h1>
<ul>
<% @users.each do |user| %>
<li>
<strong>ID:</strong> <%= user[:id] %> |
<strong>Name:</strong> <%= user[:name] %> |
<strong>Email:</strong> <%= user[:email] %>
</li>
<% end %>
</ul>
</body>
</html>
原因:可能是JSON数据格式不正确,或者在ERB模板中解析有误。
解决方法:
<%= debug @users %>
,查看数据是否正确传递到模板中。<!-- app/views/users/index.html.erb -->
<!DOCTYPE html>
<html>
<head>
<title>User List</title>
</head>
<body>
<h1>User List</h1>
<%= debug @users %> <!-- 调试信息 -->
<ul>
<% @users.each do |user| %>
<li>
<strong>ID:</strong> <%= user[:id] %> |
<strong>Name:</strong> <%= user[:name] %> |
<strong>Email:</strong> <%= user[:email] %>
</li>
<% end %>
</ul>
</body>
</html>
通过以上步骤和示例代码,你可以在HTML.erb文件中成功显示JSON信息。
领取专属 10元无门槛券
手把手带您无忧上云