我正在尝试创建一个有很多答案的投票对象。每个答案都可以附上一张图片。如何创建一个表单,让我可以输入问题并添加可变数量的答案(每个答案都附有图片)。我还希望允许预览上传的图像。
到目前为止,我的想法是为每个添加的问题自动上传到预览处理程序的每个图像都有一个子表单。
我的另一种方法是在会话中创建问题对象,并向其中添加答案对象,然后同时保存它们。不过,我不太确定如何在 Rails 中实现这一点。我正在使用回形针上传图像。
我是一个rails新手,所以任何建议都将不胜感激。
我正在尝试创建一个有很多答案的投票对象。每个答案都可以附上一张图片。如何创建一个表单,让我可以输入问题并添加可变数量的答案(每个答案都附有图片)。我还希望允许预览上传的图像。
到目前为止,我的想法是为每个添加的问题自动上传到预览处理程序的每个图像都有一个子表单。
我的另一种方法是在会话中创建问题对象,并向其中添加答案对象,然后同时保存它们。不过,我不太确定如何在 Rails 中实现这一点。我正在使用回形针上传图像。
我是一个rails新手,所以任何建议都将不胜感激。
如何将投票的答案与图片上传部分分开?
通过这种方式,您可以构建一个包含多个答案的主表单,然后对于每个创建的答案,您将拥有一个带有上传字段的表单,这样您就不必处理多个上传,而且容易得多。
您可以轻松隐藏 (style="display:none") 上传表单并使用“上传图片”之类的链接显示它们 (onclick="$('#link_id').show()")
我建议您不要使用会话来存储这些信息,因为浏览器的 prev-back(按钮)会搞砸。
我强烈建议您阅读这两篇关于嵌套属性和嵌套模型的文章:
如果您想使用一个表单创建一个包含多个答案的民意调查,这就是您要走的路。
fields_for
您可以先询问民意调查将有多少个答案,然后在您的电话中重复多次。
但是,更好的方法是使用“添加”和“删除”链接,以便您可以修改内联答案的数量。我会使用 AJAX 来执行此操作 - 因此您可能有一个link_to_remote
“添加”链接,该链接调用执行以下操作的控制器方法:
render :update do |page|
page.insert_html :bottom, 'answers-list', :partial => 'answer'
end
当然,对于您page.remove
用于删除表单相关部分的“删除”链接。
无论如何,这应该让你开始。