Ale*_*exC 5 forms error-handling ruby-on-rails restore
我的第一个Rails应用程序(使用Rails 3)取得了很好的进展.MVC交互一切都很好,但是我对一个与模型没有直接关系的表单有困难.
我正在使用form_tag,并且在成功的情况下,一切都表现良好.但是,处理错误有点不友好.实际的错误消息存储在flash中并通过layouts/application.html正常显示,但是我真的很喜欢它,如果表单可以记住用户刚刚填写的内容.但它不会:所有字段重置为默认值.
我喜欢对对象的RESTful操作表单的方式自动记住他们提交的值,如果有错误则以红色突出显示.我很好没有红色突出显示,但如果我能让表单的字段保持提交的值,我真的很喜欢它.
任何人都可以建议如何做到这一点?
摘录相关文件:
意见/ cardsets/import.html.erb:
<%= form_tag :action => :import_data, :id => @cardset do %>
...
<%= text_field_tag "separator", "", :maxlength => 1 %>
...
<%= text_field_tag "formatting_line" %>
...etc (more fields)
Run Code Online (Sandbox Code Playgroud)
控制器/ cardsets_controller.rb:
# POST /cardsets/1/import_data
def import_data
success, message = @cardset.import_data(params, current_user)
if success
redirect_to(@cardset, :notice => message)
else
flash.now[:error] = message
render :import
end
end
Run Code Online (Sandbox Code Playgroud)
text_field_tag的第二个参数是用字段填充的值.尝试这样的事情:
<%= text_field_tag "separator", params[:separator], :maxlength => 1 %>
Run Code Online (Sandbox Code Playgroud)