【发布时间】:2012-10-21 03:55:01
【问题描述】:
我是 ROR 的新手。我想在选择带有扩展名的文件后捕获浏览按钮的文件名。我想将文件名存储到数据库的 File_name 列中。请帮我这样做。是否可以获得存储在 File_name 列中的文件的完整路径而不仅仅是文件名?请建议我这样做。我不想上传文件。只是我想要一个文件名来存储。
View(New)
--------------
<div class="pro-data-imports">
<%= form_for @pro_data_import do %>
<div class="field">
Browse the file to upload:<br />
<%= file_field_tag :File_name %>
</div>
<div class="actions">
<%= submit_tag 'Import File' %>
</div>
<% end %>
</div>
Controller
----------
class Pro::DataImportsController < ApplicationController
before_filter :authenticate_user!
layout "layouts/enr/energy_master"
def index
@pro_data_imports = Pro::DataImport.all
end
def new
@pro_data_import = Pro::DataImport.new
@pro_data_import.updated_by = current_user
end
def create
@pro_data_import = Pro::DataImport.new(params[:pro_data_import])
@pro_data_import.updated_by = current_user
end
end
Model
-------
I have File_name, File_validate, :updated_by Columns
【问题讨论】:
-
我不认为浏览器会给你完整的文件名路径。不应该。
-
是的,这就是我从所有人那里得到的反馈。谢谢你的回答。您能帮我获取浏览器按钮的文件名并将其保存到数据库中吗?
-
我猜你可以用客户端脚本和css来做到这一点。使用 css 隐藏提交按钮,并使用 javascript 从输入字段中获取值。我认为只有 Rails 是不可能的。
-
我对 Rails 很陌生。我有点困惑这样做。好的 想象一下,不是浏览按钮,而是文本框按钮。我想将文本框数据存储到数据库中。只是文本框数据。
-
您应该尝试使用 text_field_tag 而不是 file_field_tag。
标签: ruby-on-rails ruby file-upload