面试题答案
一键面试获取并处理参数的Ruby代码示例
在Ruby的Sinatra框架中可以这样获取并处理参数:
require 'sinatra'
get '/users' do
name = params['name']
age = params['age']
"Name: #{name}, Age: #{age}"
end
Rails中处理这类参数的一般方式
在Rails框架中,参数会被自动解析并存储在params
哈希中。例如,在控制器中可以这样处理:
class UsersController < ApplicationController
def index
name = params[:name]
age = params[:age]
# 后续处理逻辑
end
end
在Rails路由中定义/users
路径映射到UsersController
的index
方法。这里使用符号:name
和:age
来访问参数,这是Rails的习惯用法,与Sinatra中使用字符串'name'
和'age'
略有不同。并且Rails在处理复杂的参数嵌套、强参数验证等方面有更强大的功能,例如通过params.require(:user).permit(:name, :age)
来确保user
参数存在且只允许name
和age
属性被访问。