为什么索引视图打印整个 table?
Why is Index view printing entire table?
此应用包含一个要提交的表单,目前我正在尝试打印 table 的几行。这是有效的,但不幸的是我也得到了整个数据库 table 属性的一个长字符串。我编写的代码(我相信)中没有任何内容会导致这种情况。我担心这是一些看不见的 rails 魔法,任何见解都会很棒!
控制器:
class StudentsController < ApplicationController
def new
@student = Student.new
end
def create
student_map = {"student_id" => params[:student_id], "student_name" => params[:student_name],
"major" => params[:major], "minor" => params[:minor], "other_information" => params[:other_information],
"class_year_id" => params[:class_year_id], "hours_st" => params[:hours], "qr_id" => qr_id,}
if (newStudentRow.save)
redirect_to action: 'index'
else
render action: 'new'
end
end
def index
@students = Student.all
end
end
索引视图:
<h1>Students#index</h1>
<p>Find me in app/views/students/index.html.erb</p>
<table>
<thead>
<tr>
<th>Student Name</th>
<th>ID</th>
</tr>
</thead>
<tbody>
<%= @students.each do |s| %>
<tr>
<td><%= s.student_name %></td>
<td><%= s.student_id %></td>
</tr>
</tbody>
<% end %>
</table>
输入数据并提交表单后,此 link 显示以下输出:
感谢您的帮助!
变化:
<%= @students.each do |s| %>
为此:
<% @students.each do |s| %>
在 Ruby 中,each
为每个元素和 returns 数组执行块。让 =
输出数组,这就是为什么你会看到那个长字符串。
此应用包含一个要提交的表单,目前我正在尝试打印 table 的几行。这是有效的,但不幸的是我也得到了整个数据库 table 属性的一个长字符串。我编写的代码(我相信)中没有任何内容会导致这种情况。我担心这是一些看不见的 rails 魔法,任何见解都会很棒!
控制器:
class StudentsController < ApplicationController
def new
@student = Student.new
end
def create
student_map = {"student_id" => params[:student_id], "student_name" => params[:student_name],
"major" => params[:major], "minor" => params[:minor], "other_information" => params[:other_information],
"class_year_id" => params[:class_year_id], "hours_st" => params[:hours], "qr_id" => qr_id,}
if (newStudentRow.save)
redirect_to action: 'index'
else
render action: 'new'
end
end
def index
@students = Student.all
end
end
索引视图:
<h1>Students#index</h1>
<p>Find me in app/views/students/index.html.erb</p>
<table>
<thead>
<tr>
<th>Student Name</th>
<th>ID</th>
</tr>
</thead>
<tbody>
<%= @students.each do |s| %>
<tr>
<td><%= s.student_name %></td>
<td><%= s.student_id %></td>
</tr>
</tbody>
<% end %>
</table>
输入数据并提交表单后,此 link 显示以下输出:
感谢您的帮助!
变化:
<%= @students.each do |s| %>
为此:
<% @students.each do |s| %>
在 Ruby 中,each
为每个元素和 returns 数组执行块。让 =
输出数组,这就是为什么你会看到那个长字符串。