zoukankan      html  css  js  c++  java
  • ruby -- 进阶学习(七)strong parameters之permitted.has_key

     简单例子:

    1 params = ActionController::Parameters.new(user: { name: 'Francesco', age: 22, role: 'admin' })
    2 permitted = params.require(:user).permit(:name, :age)
    permitted.permitted?      # => true
    permitted.has_key?(:name) # => true
    permitted.has_key?(:age)  # => true
    permitted.has_key?(:role) # => false

     另一个例子:

    models/admin/column.controller.rb

    1 class Admin::Column < ActiveRecord::Base
    2  ……
    3   attr_accessible :user_id , :has_child , :parent_id , :title , :icon
    4   ……
    5 end

    controllers/admin/column.rb

    1 class Admin::ColumnsController < ApplicationController
    2   ……
    3   def admin_column_params
    4       params[:admin_column]
    5   end
    6   ……
    7 end

    然后创建一个新的对象,并且使得它的icon为空

    这时,如果直接使用admin_column_params.require(:icon),会报错说没有这个属性对象

    所以在使用这个语句之前得先加个判断

    1 if admin_column_params.has_key?(:icon) 
    2    puts admin_column_params.require(:icon)
    3 end

     如果想了解更多,链接:http://edgeapi.rubyonrails.org/classes/ActionController/Parameters.html

  • 相关阅读:
    python模拟shell
    10.LIKE 操作符
    9.TOP 子句--mysql limit
    8.INSERT INTO 语句 UPDATE 语句
    7.ORDER BY 子句
    6.AND & OR 运算符
    5.WHERE 子句
    4.SELECT DISTINCT 语句
    3.SELECT 语句
    2.sql分类
  • 原文地址:https://www.cnblogs.com/lmei/p/3263458.html
Copyright © 2011-2022 走看看