首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >水豚attach_file

水豚attach_file
EN

Stack Overflow用户
提问于 2016-01-19 05:57:40
回答 2查看 5K关注 0票数 8

我在我的应用程序中有一个特性测试,在那里我测试上传一个文件。所以我有这样的东西:

代码语言:javascript
复制
attach_file :input_id, Rails.root + "spec/fixtures/sample.jpg"
click_button "Upload"

我的“期望”总是失败,我在控制器中添加了一个binding.pry来检查原因。结果,传递给输入文件的内容是一个字符串。

有没有人遇到过同样的问题?对于如何解决这个问题,有什么建议吗?被困在这个问题上已经有两天了。

编辑

忘了提到,输入文件是一个多类型的

代码语言:javascript
复制
f.attachment_field :input_field, multiple: true
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-01-19 18:19:01

我在评论中问了一个问题,#attachment_field是从重新文件开始,还是使用直接或预签名模式。如果您的回答是“是”,则可以节省时间:

使用直接或预签名模式时,重新文件不会使用表单上载文件,而是使用ajax将文件提交到自己的sinatra应用程序、S3等(取决于所使用的后端),然后在添加到表单的隐藏字段中提交文件上载的id。在这种情况下,您会期望它是一个字符串。您可以阅读更多关于它的https://github.com/refile/refile#4-rails-helpershttps://github.com/refile/refile#5-javascript-library

票数 2
EN

Stack Overflow用户

发布于 2016-01-19 06:15:19

试试这个:

代码语言:javascript
复制
attach_file('Image', "spec/files/images/yourtestimg.jpg")

显然,在路径中创建那些文件夹。对不起,我宁愿解释太多也不愿解释。yourtestimg.jpg指的是我放在那个文件夹中的一个实际图像。

简单地说一下,以上是正确的方法,但有一次我遇到了一个失败,因为它没有识别‘图像’。在这种情况下,右键单击并检查upload按钮的元素,并查看字段的名称。在“失败”中,我指的字段是名称'post_image',同样,标题字段名为‘post_ the’。有一次,我把图像换成了“post_image”,它通过得很好。

贾斯汀

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

https://stackoverflow.com/questions/34869469

复制
相关文章

相似问题

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