gpt4 book ai didi

ruby-on-rails - Rails Strong Parameters - 如果我的字段之一是可选的怎么办?

转载 作者:数据小太阳 更新时间:2023-10-29 07:47:37 28 4
gpt4 key购买 nike

无论如何,我都不会声称自己是 Rails 方面的专家。令我感到困惑的一件事是强参数,我没有找到任何真正简单的教程,大部分搜索结果都是 rails 文档的命中率,虽然通常准确,但我找不到任何易于阅读的方式都不能被视为教程。强参数的 github 似乎也没有涵盖这一点。

假设我有一个名为“Resource”的实体。

class ResourcesController < ApplicationController
...
def create
@resource = Resource.new(resource_params)
if @resource.save
...
respond_with(@resource.level)
else
...
end
end

def update
if @resource.update(resource_params)
...
respond_with(@resource.level)
else
...
end
end
...
def resource_params
params.require(:resource).permit(:name, :url, :description, :level_id)
end
end

假设我有一个脚手架表单,它显示名称、url、描述和 level_id 的字段。所有字段都是必填的。我不知道如何修改 resource_params 函数以确保在更新(或创建)资源时 name、url 和 level_id 是强制性的,但该描述是可选的(但仍应被允许)。

我已经尝试从 require 行中删除描述,并将其作为 params.permit(:description) 添加到单独的行中,但这没有任何区别,该字段在表单中仍然是强制性的。

欢迎就此提供任何帮助!

最佳答案

正如我所说,这与强参数无关。您只需删除该字段的 required: true 即可使其成为可选字段。

关于ruby-on-rails - Rails Strong Parameters - 如果我的字段之一是可选的怎么办?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35183766/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com