我form_tag
在我的 Rails 3 应用程序中使用了一个未绑定到任何模型的表单。我了解(尽管如果我错了请纠正我)这个助手没有与模型绑定form_for
助手相同的清理好处,所以我手动清理表单中的所有输入。
这是我的控制器(只是基础知识):
include ActionView::Helpers::TextHelper
class MyController < ApplicationController
localVariable = params[:my_form_param].to_s
localVariable = strip_tags(localVariable)
localVariable = sanitize(localVariable)
end
当诸如西里尔字母、斯堪的纳维亚字符等字符包含在表单域中时,就会出现此问题。返回以下消息:
undefined method `bytesize' for nil:NilClass
我已将范围缩小到strip_tags
andsanitize
方法,但我确实需要使用它们来删除错误的输入。我已经尝试将 to_s 方法也转移到每个方法(例如strip_tags (localVariable.to_s)
),但没有运气 - 我确定表单将起作用的唯一方法是完全注释掉这两行(正如我所说,这是我不想做的事情)。
有人对此有任何想法吗?有没有我可以使用的替代方法,记住我在这里没有使用模型,所以使用form_for
可能有点过火了?
谢谢!