Ruby on Rails 过滤参数(基本)

示例

class UsersController < ApplicationController
  def index
    respond_to do |format|
     format.htmldo
        render html: "Hello #{ user_params[:name] } user_params[:sentence]"
      end
    end 
  end

  private

  def user_params
    if params[:name] == "john"
      params.permit(:name, :sentence)
    else
      params.permit(:name)
    end
  end
end

您可以允许(或拒绝)某些参数,以便只有您想要的参数才能通过,并且不会出现诸如用户设置选项不被更改之类的意外消息。

访问/users?name=john&sentence=developer将显示Hello john developer,但是访问/users?name=smith&sentence=spy会显示Hello smith而已,因为:sentence当您访问为只允许john