如何在rails app中正确读取参数?

时间:2017-12-28 21:16:49

标签: ruby-on-rails

我遇到了如何在我的rails应用程序的生产中检测到参数的问题。

我的控制器:

def search
    puts "param is #{params[:dp]}"
    if params[:dp]
      redirect_to controller: 'products', action: 'results', product: params[:dp]
    end
end

在制作中,如果我输入" http://example.com/?dp=123",控制器不会读取参数[:dp];意思是,没有任何东西打印到控制台。但是,如果我在example.com上,然后在加载此页面后添加参数,那么

 puts "param is #{params[:dp]}"

工作正常。

更奇怪的是,在我的localhost环境中,无论采用哪种方法,都会检测到参数。

我的问题:当我使用' dp'直接导航到网站时,如何正确读取参数?参数β

1 个答案:

答案 0 :(得分:0)

你需要的是:

redirect_to controller: 'products', action: 'results', params: {product: params[:dp]}

另一种方法是使用flash:

flash[:product]= params[:dp]

或会话cookie,但请记住不要在params或flash或会话cookie上放置太多数据,因为它们仅限于一定的大小。