Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
张重言
rails
提交
2834454d
R
rails
项目概览
张重言
/
rails
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
rails
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
2834454d
编写于
10月 18, 2012
作者:
F
Francesco Rodriguez
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add a nested attributes example into Strong Parameters documentation [ci skip]
上级
f069ec16
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
31 addition
and
6 deletion
+31
-6
actionpack/lib/action_controller/metal/strong_parameters.rb
actionpack/lib/action_controller/metal/strong_parameters.rb
+31
-6
未找到文件。
actionpack/lib/action_controller/metal/strong_parameters.rb
浏览文件 @
2834454d
...
...
@@ -19,13 +19,13 @@ def initialize(param) # :nodoc:
end
end
# == Action Controller Parameters
# == Action Controller
\
Parameters
#
# Allows to choose which attributes should be whitelisted for mass updating
# and thus prevent accidentally exposing that which shouldn’t be exposed.
# Provides two methods for this purpose: #require and #permit. The former is
# used to mark parameters as required. The latter is used to set the parameter
# as permitted
and limit which attributes should be allowed for
mass updating.
# as permitted
and limit which attributes should be allowed for
mass updating.
#
# params = ActionController::Parameters.new({
# person: {
...
...
@@ -77,12 +77,12 @@ class Parameters < ActiveSupport::HashWithIndifferentAccess
#
# params = ActionController::Parameters.new(name: 'Francesco')
# params.permitted? # => false
# Person.new(params) #
=> ActiveModel::ForbiddenAttributesError
# Person.new(params) #
=> ActiveModel::ForbiddenAttributesError
#
# ActionController::Parameters.permit_all_parameters = true
#
# params = ActionController::Parameters.new(name: 'Francesco')
# params.permitted? #
=> true
# params.permitted? #
=> true
# Person.new(params) # => #<Person id: nil, name: "Francesco">
def
initialize
(
attributes
=
nil
)
super
(
attributes
)
...
...
@@ -141,8 +141,8 @@ def require(key)
alias
:required
:require
# Returns a new <tt>ActionController::Parameters</tt> instance that
# includes only the given +filters+ and sets the +permitted+
for th
e
# object to +true+. This is useful for limiting which attributes
# includes only the given +filters+ and sets the +permitted+
attribut
e
#
for the
object to +true+. This is useful for limiting which attributes
# should be allowed for mass updating.
#
# params = ActionController::Parameters.new(user: { name: 'Francesco', age: 22, role: 'admin' })
...
...
@@ -315,6 +315,31 @@ def each_element(object)
# end
# end
#
# In order to use <tt>accepts_nested_attribute_for</tt> with Strong \Parameters, you
# will need to specify which nested attributes should be whitelisted.
#
# class Person
# has_many :pets
# accepts_nested_attributes_for :pets
# end
#
# class PeopleController < ActionController::Base
# def create
# Person.create(person_params)
# end
#
# ...
#
# private
#
# def person_params
# # It's mandatory to specify the nested attributes that should be whitelisted.
# # If you use `permit` with just the key that points to the nested attributes hash,
# # it will return an empty hash.
# params.require(:person).permit(:name, :age, pets_attributes: { :name, :category })
# end
# end
#
# See ActionController::Parameters.require and ActionController::Parameters.permit
# for more information.
module
StrongParameters
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录