我不会声称自己在任何方面都是Rails的专家.令我困惑的一件事是强参数,我没有找到任何真正简单的教程,大多数搜索结果主要是在rails文档上的命中,虽然通常是准确的,但我找不到任何方
假设我有一个名为“资源”的实体.
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即可使该字段成为可选字段.