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
You can allow (or reject) some params so that only what you want will pass through and you won't have bad surprises like user setting options not meant to be changed.
Visiting /users?name=john&sentence=developer
will display Hello john developer
, however visiting /users?name=smith&sentence=spy
will display Hello smith
only, because :sentence
is only allowed when you access as john