第二次加载表单时保留表单数据

时间:2011-03-01 07:34:14

标签: ruby-on-rails forms file-upload

我从中做了两件事。

  1. 获取用户文本输入。

  2. 用户可以选择图片或上传图片。

  3. 用户上传图片时出现问题。

    文件字段必须提交信息才能上传图像。它确实有效。

    但是当表格与上传的图像一起显示时,用户输入的文字就消失了。我知道实例变量不会保留数据。

    如何使这项工作不会丢失文字? 我必须使用AJAX吗?

    提前谢谢。

1 个答案:

答案 0 :(得分:1)

如果您使用的是form_for,

# your_controller.rb
def new # method where you show the form
  @some_model = SomeModel.new(params[:some_model])
end

# new.html.haml - i like haml
- form_for @some_model do
  ... # all your inputs (they will be pre-set if you submit the form and it stays in new method

如果您使用的是form_tag

# new.html.haml
- form_tag do
  = text_field_tag :some_attribute_name, params[:some_attribute_name]
  = select_tag :another_attribute_name, options_for_select(['option1', 'option2', 'and so on'], params[:another_attribute_name])

所以取决于你使用的是什么,选择相应的方式;-)希望这有助于=)

无论其

我认为图片应该与表单一起提交并保存在一起,即它不应该是一个单独的过程,除非您当然在谈论表单已保存并且您正在重定向到编辑页面...无论哪种方式,两种方法都应该起作用=)