我遇到了如何在我的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'直接导航到网站时,如何正确读取参数?参数β
答案 0 :(得分:0)
你需要的是:
redirect_to controller: 'products', action: 'results', params: {product: params[:dp]}
另一种方法是使用flash:
flash[:product]= params[:dp]
或会话cookie,但请记住不要在params或flash或会话cookie上放置太多数据,因为它们仅限于一定的大小。