过滤参数(基本)

class UsersController < ApplicationController
  def index
    respond_to do |format|
      format.html do
        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 时被允许