小编典典

Rails 参数解释?

all

任何人都可以在 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

我希望能够逐行阅读此代码并了解发生了什么。


阅读 61

收藏
2022-06-01

共1个答案

小编典典

当用户请求页面时,参数来自用户的浏览器。对于最常见的 HTTP GET 请求,参数编码在 url 中。例如,如果用户的浏览器请求

http://www.example.com/?foo=1&boo=octopus

那么params[:foo]将是“1”并且params[:boo]将是“章鱼”。

在 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 参数相当于 PHP 中的$_REQUEST
数组

2022-06-01