Rails参数解释?
Rails参数解释?
有没有人能够解释Rails控制器中的params
:它们从哪里来,它们参考了什么?
def create @vote = Vote.new(params[:vote]) item = params[:vote][:item_id] uid = params[:vote][:user_id] @extant = Vote.find(:last, :conditions => ["item_id = ? AND user_id = ?", item, uid]) last_vote_time = @extant.created_at unless @extant.blank? curr_time = Time.now end
我想逐行阅读这段代码并理解其中的内容。
admin 更改状态以发布 2023年5月23日
参数来自用户在请求页面时的浏览器。对于最常见的HTTP GET请求,参数会被编码在URL中。例如,如果用户的浏览器请求了
http://www.example.com/?foo=1&boo=octopus
那么params[:foo]
将是"1",params[:boo]
将是"octopus"。
在HTTP / HTML中,参数实际上只是一系列键值对,其中键和值都是字符串,但Ruby on Rails有一个特殊的语法,使参数成为包含在哈希中的哈希。例如,如果用户的浏览器请求了
http://www.example.com/?vote[item_id]=1&vote[user_id]=2
那么params[:vote]
将是一个哈希,params[:vote][:item_id]
将是"1",params[:vote][:user_id]
将是"2"。
Ruby on Rails的params相当于PHP中的$_REQUEST数组。