【问题标题】:Keep form data when form is loaded a second time第二次加载表单时保留表单数据
【发布时间】:2011-07-06 07:37:03
【问题描述】:

我有一个 from 做两件事。

  1. 获取用户文本输入。

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

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

文件字段必须提交信息才能上传图片。一切正常。

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

我怎样才能使这项工作不丢失文本? 我必须使用 AJAX 吗?

提前谢谢你。

【问题讨论】:

  • 您是在为模型使用表单助手(例如 form_for :somemodel),还是使用普通的 form_tags?

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


【解决方案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])

所以取决于你使用什么,选择各自的方式;-)希望这会有所帮助=)

但是

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-14
    • 2019-06-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多