rails形成帮助方法:file_field?

时间:2011-08-14 09:45:46

标签: html ruby ruby-on-rails-3

你看到file_field提供了一个窗口让用户选择某个文件并上传到服务器端。但我想要的只是文件名。我怎么能得到文件名,我不需要提交自己。什么建议?

2 个答案:

答案 0 :(得分:5)

不确定为什么你需要这个,但你可以试试这个

表单中的

<%= file_field :uploadfile %>

并在你的控制器中

def upload
    params[:uploadfile].original_filename
    .... process the rest of this method ....
end

“original_filename”将获取正在上载的文件的名称,然后您可以存储到数据库中。希望这有帮助

答案 1 :(得分:3)

您需要有两个字段:

  • 隐藏字段以存储文件名
  • 文件输入以选择文件

例如:

<%= file_field_tag :our_file %>
<%= f.hidden :filename, :id => "hidden_filename" %>

小jQuery片段:

$(document).ready(function(){
  $('input[type=file]').change(function(e){
    filename = $(this).val();
    $("#hidden_filename").attr("value", filename);
    # To reset file field if you don't want to uppload a file
    $(this).attr("value", "");
  });
})