Javascript 如何提交以下类型的表单,RubyonRails?
我是FE开发的新手,如果我的问题很幼稚,那么很抱歉 我在rails中为Javascript 如何提交以下类型的表单,RubyonRails?,javascript,ruby-on-rails,ruby,forms,Javascript,Ruby On Rails,Ruby,Forms,我是FE开发的新手,如果我的问题很幼稚,那么很抱歉 我在rails中为用户提供了一个模型,它可以有多个配置文件。有不同类型的配置文件比如A,B,C。模型Profile有一个json字段详细信息,因此a,B&C有不同的字段详细信息 我正在创建一个具有用户字段的表单,然后在配置文件(嵌套属性)的a、B或C之间选择一个下拉列表,它将呈现一个部分表单(我正在使用js进行此操作)。每个配置文件类型中的某些字段都是必需的,因此如果我提交B类型配置文件,我将无法提交,因为A中的必需字段(A和C输入字段是隐藏的
用户
提供了一个模型,它可以有多个配置文件
。有不同类型的配置文件
比如A
,B
,C
。模型Profile
有一个json字段详细信息,因此a
,B
&C
有不同的字段详细信息
我正在创建一个具有用户
字段的表单,然后在配置文件
(嵌套属性)的a
、B
或C
之间选择一个下拉列表,它将呈现一个部分表单(我正在使用js进行此操作)。每个配置文件类型中的某些字段都是必需的
,因此如果我提交B
类型配置文件,我将无法提交,因为A
中的必需字段(A
和C
输入字段是隐藏的)。我如何提交这个?(提交按钮位于每个部分表单中,而不是外部,因此用户和配置文件必须同时保存)
另外,有没有更好的方法来渲染部分表单,而不是渲染所有表单并隐藏它们
此外,如何仅以一种部分形式而不是全部形式加载脚本(与上述问题有些类似)?我觉得您需要一个自定义验证,该验证采用模型类型(a、B或C),然后只检查该模型所需的字段是否存在。签出Rails文档,但其长短(在您的用户模型中): 自定义验证的工作方式是,如果在
错误中放入任何内容,验证将失败。然后由控制器中的您使用类似于render json:@user.errors
put validates :check_presence
def check_presence
if this.model == "a"
errors[:fieldX] = "cannot be empty" if this.fieldX.empty?
elsif this.model == "b"
etc...
end
end