我是Rails的初学者,这就是我想要做的事情:
CSV文件作为哈希数组读取,并作为实例变量传递给视图。到目前为止,这工作正常,HTML表格完全基于CSV结构构建。
现在,我需要以不同的方式编辑此HTML表:“查找和替换”和单元格中的值,添加/删除/重命名列等
将根据用户所做的更改生成新的CSV。
我可以操作包含表结构的哈希数组并重新加载页面以在用户编辑时重新创建页面吗?它不必使用ajax,我想的是将值传递回控制器并再次呈现页面。
整个编辑可以通过文本框或复选框完成。无需与桌面进行“实时”互动。
这是我使用的控制器中的方法,读取CSV并渲染视图:
def create
file = params[:file]
@logs = CSV.read(file.path, headers:true)
@headers = @logs.headers
p @logs
render 'edit'
end
这是观点:
<div class="container">
<h1>Edit CSV File</h1>
<%= flash[:notice] %>
</div>
<div class="container">
<table class="table table-bordered">
<tr>
<% @headers.each do |column| %>
<th><%= column %></th>
<% end %>
</tr>
<%= p @logs %>
<% @logs.each do |log| %>
<tr>
<% log.each do |key, row| %>
<td><%= row %></td>
<% end %>
</tr>
<% end %>
</table>