加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – Rails强参数 – 如果我的一个字段是可选的,该

发布时间:2020-12-17 01:36:04 所属栏目:百科 来源:网络整理
导读:我不会声称自己在任何方面都是Rails的专家.令我困惑的一件事是强参数,我没有找到任何真正简单的教程,大多数搜索结果主要是在rails文档上的命中,虽然通常是准确的,但我找不到任何方便阅读,不能被视为教程.强对称的 github似乎也没有涵盖这一点. 假设我有一个
我不会声称自己在任何方面都是Rails的专家.令我困惑的一件事是强参数,我没有找到任何真正简单的教程,大多数搜索结果主要是在rails文档上的命中,虽然通常是准确的,但我找不到任何方便阅读,不能被视为教程.强对称的 github似乎也没有涵盖这一点.

假设我有一个名为“资源”的实体.

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

假设我有一个scaffolded表单,它显示name,url,description和level_id的字段.所有字段都是必填字段.我不知道如何修改resource_params函数以确保在更新(或创建)资源时必须使用name,url和level_id,但该描述是可选的(但仍应允许).

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

对此的任何帮助都会受到欢迎!

解决方法

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读