首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在rails中向file_field标记添加大小选项

在rails中向file_field标记添加大小选项
EN

Stack Overflow用户
提问于 2011-04-14 07:07:14
回答 3查看 4.8K关注 0票数 1

回答

实际上,我在制定问题时找到了答案,但我会以任何方式发布,因为有些人可能会觉得这很有用(如这里所说的:https://meta.stackexchange.com/questions/49922/should-i-continue-adding-a-question-if-i-have-found-the-answer-myself)。

我在向ROR3中的文件字段添加大小时遇到了问题。下面是我的语法:

代码语言:javascript
运行
复制
= f.file_field :file, :size => "11"

这不会出现,但是会创建一个文件输入字段:

代码语言:javascript
运行
复制
<input type="file" name="soap_test_zip_file[file]" id="soap_test_zip_file_file">

现在我知道我以前让它起作用了,所以我查看了一些旧代码,发现如下:

代码语言:javascript
运行
复制
= file_field_tag :file, :size => 11

它的输出如下:

代码语言:javascript
运行
复制
<input type="file" size="11" name="file" id="file">

这给了我正确的大小,但文件id和名称错误。所以我试了一下:

代码语言:javascript
运行
复制
<input type="file" size="11" name="soap_test_file_file" id="soap_test_file_file">

这给了我正确的身份,但却是错误的名字。问题是如何复制file_field,但大小如何?

我看了Ryan的答案:Problem showing the 'size' attribute for a 'file_field' using Ruby on Rails 3

他说,这是一个跨浏览器的东西,他们呈现文件字段的方式不同。是这样的,但是如果浏览器能够处理的话,我想呈现一个短文件字段。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-04-14 07:54:37

我用:

代码语言:javascript
运行
复制
= file_field_tag :soap_test_zip_file, {:name => 'soap_test_zip_file[file]', :size => 11}

这使我重写了控制器的名称和大小。

票数 2
EN

Stack Overflow用户

发布于 2011-06-02 04:17:58

似乎不适合我..。

我想到了另一种选择: jquery。

代码语言:javascript
运行
复制
$('#user_photo_photo').attr('size', 1);

宾果!!

票数 0
EN

Stack Overflow用户

发布于 2013-01-06 13:02:28

如果您不想重写name属性,可以这样做:

保留您的表单

代码语言:javascript
运行
复制
= f.file_field :file, :size => "11"

为file_field方法添加覆盖

代码语言:javascript
运行
复制
# lib/my_override.rb

module ActionView
  module Helpers
    module FormHelper   
      def file_field(object_name, method, options = {})
        InstanceTag.new(object_name, method, self, options.delete(:object)).to_input_field_tag("file", options.update({:size => options[:size]}))
      end
    end
  end
end

并通过初始化器加载它。

代码语言:javascript
运行
复制
# config/initializers/load_lib.rb    

require 'my_override'
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5659734

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档