渲染视图并传递参数

19

我有一个类(Class),其中包含两个方法。 第一个方法会根据一些GET参数(params[:page])被视图(view)调用。 我希望保存这些参数并通过render动作将它们发送到我的第二个方法。

class exemple
  def first
    ## sql save of params[:page] 
    render :action => "second"
  end

  def second
    ##
    ## Here I need my params[:page] to do paginate stuff
    ##
    respond_to do |format|
      format.html
    end
  end
end

所以我的问题是:如何在 render :action 中发送参数?

谢谢 :)

1个回答

26
render :action => "second"
当你调用渲染方法时,:action 中所编写的方法不会被执行,只会执行与该动作名称相对应的视图。
在你的示例中,当你执行渲染方法时,second 方法并不会被执行,而是渲染了 second.html.erb 视图。
要了解更多详细信息,请参考此链接
如果想要调用该方法,你需要使用redirect_to 方法,例如以下代码:
redirect_to :action => "second", :page=> 4

5
谢谢你的回答!我尝试使用redirect_to并且它可以工作,但是我想将第一个方法中的全部GET参数发送到第二个方法中。你知道有什么解决方法,还是我必须一个一个地发送所有参数? - Swann

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接