【发布时间】:2016-07-03 22:42:20
【问题描述】:
我正在尝试上传文件并将其解析为 rails。我还想将文件的内容放在可排序的表中。我关注了http://railscasts.com/episodes/396-importing-csv-and-excel?autoplay=true 并通过了它。
我的视图文件 - index.html.erb 看起来像这样 -
<%= form_tag import_users_path, multipart: true do %>
Import a file
<%= file_field_tag :file %>
<%= submit_tag "Submit" %>
<% end %>
*_controllers.rb 看起来像这样
class UsersController < ApplicationController
def index
@users = User.order(params[:sort])
end
def show
@user = User.find(params[:id])
end
def import
User.import(params[:file])
redirect_to action: 'index'
end
end
现在我想使用 Javascript/Bootstrap 为文件上传按钮添加样式。我将 index.html.erb 更改为以下内容 -
<%= form_tag import_users_path, multipart: true do %>
<span class="fileUpload btn btn-primary"> Upload
<input id="uploadBtn" type="file" class="upload" />
</span>
<%= submit_tag "Submit">
<% end %>
现在 assets/javascripts/*.js 看起来像这样 -
document.getElementById("uploadBtn").onchange = function() {
document.getElementById("uploadFile").value = this.value;
};
这不起作用,因为上传的文件没有被解析为 ':file' 没有分配任何东西。
如何将 CSS 和 javascript 样式应用于“file_field_tag”?
【问题讨论】:
标签: javascript jquery html css ruby-on-rails