作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用带有 Carrier Wave 的 Rails 4 和 Ruby 2 以及 jQuery Mobile 1.3,并且用户有一个带有 Logo 的配置文件。我已经在控制台中测试了后端 Carrier Wave 的东西并且它有效。
问题出在表单助手中,无论我做什么都没有关系,但是会显示一个 file_field 并让我选择一个图像,但它不会在参数中出现。如果我将其更改为不存在的字段,例如。 =f.file_field :field_not_permitted_in_strong_params
它不会翻倒并且文件选择器可见,如果我将其更改为 =f.text_field :field_not_permitted_in_strong_params
,只有这样 rails 才会启动并提示该字段不存在。
所以我的问题基本上是,我可以在客户端上传文件,但它不会在表单数据中发送,也不会出现在参数哈希中,而我的所有其他字段都可以正常工作。
这是表格的一个片段:
= form_for(@business_profile, :html => {:multipart => true}, :url => business_profile_path, :validate => true) do |f|
=image_tag(@business_profile.logo.url, class: 'business-logo')
%div{:data => {:role => 'fieldcontain'}}
=f.file_field :logo
- # Basic Information
%div{:data => {:role => 'collapsible', :collapsed => 'false'}}
%h3
Basic Information
%div{:data => {:role => 'fieldcontain'}}
= f.label :name, 'Business name:'
= f.text_field :name
%div{:data => {:role => 'fieldcontain'}}
= f.label :address, 'Address:'
= f.text_area :address, class: 'address'
最佳答案
好吧,在这件事上花了几个小时,问题是 jQuery Mobile 默认使用 Ajax 提交表单,如果不使用插件等,则无法使用 Ajax 提交文件。所以解决方案是像这样禁用 Ajax:
= form_for(@business_profile, :url => business_profile_path, :validate => true, :html => { :'data-ajax' => false }) do |f|
关于ruby-on-rails - Rails file_field 不上传任何东西,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16815569/
我有以下正则表达式 /[a-zA-Z0-9_-]/ 当字符串只包含从 a 到z 大小写、数字、_ 和 -。 我的代码有什么问题? 能否请您向我提供一个简短的解释和有关如何修复它的代码示例? //var
我是一名优秀的程序员,十分优秀!