Ruby on rails RubyonRails中的表单验证

Ruby on rails RubyonRails中的表单验证,ruby-on-rails,ruby,redmine,Ruby On Rails,Ruby,Redmine,我正在使用Redmine和RubyonRails。现在,我需要对表单进行验证。是否需要编辑模型或控制器以进行验证表单?通常验证进入模型,但不要忘记,控制器需要允许某些参数通过该方法传递到模型本身 控制器的工作是尝试创建或更新模型,然后定义如果不成功会发生什么的行为。这可能是显示错误页面,或发送失败的API调用响应。这取决于您正在构建什么。通常验证进入模型,但不要忘记控制器需要允许某些参数通过方法传递到模型本身 控制器的工作是尝试创建或更新模型,然后定义如果不成功会发生什么的行为。这可能是显示错误

我正在使用Redmine和RubyonRails。现在,我需要对表单进行验证。是否需要编辑模型或控制器以进行验证表单?

通常验证进入模型,但不要忘记,控制器需要允许某些参数通过该方法传递到模型本身


控制器的工作是尝试创建或更新模型,然后定义如果不成功会发生什么的行为。这可能是显示错误页面,或发送失败的API调用响应。这取决于您正在构建什么。

通常验证进入模型,但不要忘记控制器需要允许某些参数通过方法传递到模型本身


控制器的工作是尝试创建或更新模型,然后定义如果不成功会发生什么的行为。这可能是显示错误页面,或发送失败的API调用响应。这取决于你在构建什么。

这取决于你想要验证什么;但是,正如《泰德曼》所建议的那样,您需要遵守惯例和规则

为什么要这样做

答案很简单-:

当您将数据发送到Rails应用程序时,
控制器
会简单地组织数据并将其发送到模型。该模型的工作是验证、保存并返回处理后的数据作为
对象
(根据Ruby的OOP结构)

--

型号

Rails在模型级别上的工作(即,一旦您通过控制器接收到数据,您就将其传递给模型,然后模型会对其进行验证):

#app/models/model.rb
类模型
如果您的数据未通过此验证,它将基本上将对象返回到控制器,然后控制器将呈现相应的视图(可能是显示错误的视图)


因此,为了回答您的问题,您应该明确查看您的
模型中的验证,这取决于您希望验证的内容;但是,正如《泰德曼》所建议的那样,您需要遵守惯例和规则

为什么要这样做

答案很简单-:

当您将数据发送到Rails应用程序时,
控制器
会简单地组织数据并将其发送到模型。该模型的工作是验证、保存并返回处理后的数据作为
对象
(根据Ruby的OOP结构)

--

型号

Rails在模型级别上的工作(即,一旦您通过控制器接收到数据,您就将其传递给模型,然后模型会对其进行验证):

#app/models/model.rb
类模型
如果您的数据未通过此验证,它将基本上将对象返回到控制器,然后控制器将呈现相应的视图(可能是显示错误的视图)


因此,要回答您的问题,您一定要查看您的
模型中的验证

转到应用程序/视图/问题。然后通过从我要验证的属性中删除“:required=>true”来编辑_attributes.html.erb。之后,我编辑了 验证是否存在:主题、:优先级、:项目、:跟踪器、:作者、:状态 来自模型的issues.rb文件。在这里,我可以添加或删除要包括或排除的字段。
通过这种方式,我解决了问题……

转到app/views/issues。然后通过从我要验证的属性中删除“:required=>true”来编辑_attributes.html.erb。之后,我编辑了 验证是否存在:主题、:优先级、:项目、:跟踪器、:作者、:状态 来自模型的issues.rb文件。在这里,我可以添加或删除要包括或排除的字段。
就这样,我解决了问题……

塔德曼,谢谢你的回答。我能弄明白。需要在模型的rb文件的“validates_presence_of:”中添加字段。然后在视图中diderequired=>true。它工作得很好。谢谢您的帮助。@user3481802如果它解决了您的问题,您的回答应该是正确的。Tadman,谢谢您的回答。我能弄明白。需要在模型的rb文件的“validates_presence_of:”中添加字段。然后在视图中diderequired=>true。它工作得很好。谢谢您的帮助。@user3481802如果它解决了您的问题,您的回答应该是正确的
#app/models/model.rb
Class Model < ActiveRecord::Base
   validates :attribute, presence: true
end