Ruby on rails 如何捕获浏览按钮的文件名?

Ruby on rails 如何捕获浏览按钮的文件名?,ruby-on-rails,ruby,file-upload,Ruby On Rails,Ruby,File Upload,我是新来的。我想在选择扩展名为的文件后捕获浏览按钮的文件名。我想将文件名存储到数据库的File_name列中。请帮我做那件事。是否可以获取存储在“文件名”列中的文件的完整路径,而不仅仅是文件名?请建议我这样做。我不想上传这个文件。我只想存储一个文件名 View(New) -------------- <div class="pro-data-imports"> <%= form_for @pro_data_import do %> <div class="

我是新来的。我想在选择扩展名为的文件后捕获浏览按钮的文件名。我想将文件名存储到数据库的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
视图(新)
--------------
浏览要上载的文件:
控制器 ---------- class Pro::DataImportController
我不知道你这是什么意思。在您提到的注释中,您想知道如何使用两个参数调用存储过程。如果您的数据库是SQL,请尝试以下操作,并根据规范更改字段名

在模型中,创建一个方法

def update
  parameters = [self.File_Name, File_Location]
  parameters.map!{|p| ActiveRecord::Base.connection.quote p}
  sql = "your store procedure name"(#{parameters.join(',')})"
  ActiveRecord::Base.connection.execute(sql)
end
在控制器中

在create方法中,调用update方法

def create
  @update = Pro::DataImport.new(params[:pro_data_import])
  @pro_data_import.updated_by = current_user
  @update.update
  .........
  ...
end

我希望这会有帮助。这只是一个例子。请勿复制和粘贴…)

我认为浏览器永远不会给你完整的文件名路径。不应该。是的,这是我从所有人那里得到的反馈。谢谢你的回答。你能帮我得到浏览器按钮的文件名并保存到数据库吗?我想你可以用客户端脚本和css来实现。使用css隐藏submit按钮,并使用javascript从输入字段获取值。我认为只有Rails是不可能的。我对Rails非常陌生。这样做我有点困惑。好的,想象一下,这里没有浏览按钮,而是文本框按钮。我想将文本框数据存储到数据库中。只有文本框数据。你应该尝试使用文本字段标记而不是文件字段标记。我不知道你在控制器的第二行做了什么:波赫,谢谢你。它对我很有用。