【发布时间】:2015-06-04 18:26:30
【问题描述】:
我想通过填充带有多个选项的“选择”字段的表单从 url 保存图像。提交表单后,所选图像应与 Paperclip gem 一起保存。
这里是 html 选择代码块:
<select id="story_medium" name="story[medium]">
<option data-img-src="http://www.somedomain.com/image0.jpg" value="0">http://www.somedomain.com/image0.jpg</option>
<option data-img-src="http://www.somedomain.com/image1.jpg" value="1">http://www.somedomain.com/image1.jpg</option>
<option data-img-src="http://www.somedomain.com/image2.jpg" value="2">http://www.somedomain.com/image2.jpg</option>
</select>
问题是,当我像通常使用 Paperclip 一样设置表单输入时,在本例中为“:medium”,我收到一条错误消息,显示“ActiveRecord::AssociationTypeMismatch at /stories Medium 预期,得到字符串” .这似乎是因为我将选项值作为字符串而不是整数传递。
Parameters: { "story"=>
{"url"=>"http://www.somedomain.com/image2.jpg",
"title"=>"Title of Image",
"medium"=>"2",
"commit"=>"Submit"}
如果我将“:medium”更改为“:medium_id”,表单保存不会出错,但是,只保存了键值,Paperclip 不会从指定的 url 保存图像。
如何在表单操作中传递图像 url 的值,以便使用 Paperclip 正确保存?
Rails 4.1.8, 回形针 4.2.1, 红宝石 2.1.5p273
【问题讨论】:
-
follow this wiki 你的模型中图像字段的名称是什么?
-
如果我按照文档的建议附加文件,使用 form.file_field,它可以正常工作。当我尝试使用 select 选项向用户呈现选项时,而不是直接上传文件,它似乎没有提交正确的参数。
-
告诉我该字段的名称..
-
我假设在你的模型中,故事属于媒介?
-
我有一个媒体模型,它有一个名为“图像”的附件。
标签: ruby-on-rails ruby ruby-on-rails-4 gem paperclip