0

我正在尝试将我的请求设置为 RESTful,但我不认为我在这方面做得很好。这就是我所拥有的,我希望始终保持参数 p1 和 p2 不被查看,以便成为 RESTful:

在我的控制器中:

  def index
    #if can't find p1 then grab from session and re-direct to make it a RESTful request
    #if not in session then it's a brand new call
    if params[:p1] == nil && session[:p1] != nil
      params[:p1] = session[:p1]
      redirect_to :action => "index", params[:p1] => session[:p1]
    else
      session[:p1] = params[:p1]
    end

   ... same as above but with p2 ...

我得到一个错误,在同一个动作中不能发生两个重定向......所以我尝试将它组合起来,但它一直在循环,页面会说 Ruby 已经确定这个请求永远不会完成......有没有更好的实现这一目标的方法?

4

1 回答 1

0

为什么不在||=Ruby 中使用运算符。这样你就不需要if-else代码中发生的惨败。

尝试类似:

params[:p1] ||= session[:p1]

但是,我不太确定您所说的您想让您的操作更加 RESTful 是什么意思?如果您使用更多见解和背景更新您的问题,我会尝试更新我的答案,这将为我们提供更多背景信息。

于 2013-01-27T00:54:00.537 回答