【发布时间】:2014-03-04 07:01:46
【问题描述】:
我是 Rails 新手,但我设法创建了一个应用程序,它从表单中获取值,使用 javascript 进行一些计算并创建一个类似的字符串
127.0.0.1:3000/var1/var2/var3/var4
然后重定向到该网址。
现在,我想获取这些变量并在服务器端执行另一个计算,然后将结果存储在数据库中。
现在,我有这样的 route.rb
根“mcc#form” 得到“进程/:var1/:var2/:var3/:var4”=>“mcc#process”和我的控制器 mcc_controller.rb 一样
class MccController < ApplicationController
def form
end
def process
#redirect_to "127.0.0.1:3000/", :status => 302
end
end
现在,如果这样的让我得到一个错误
wrong number of arguments calling `process` (1 for 0)
即使我要求 127.0.0.1/(这应该给我 form.html.erb 视图),并且如果我在 routes.rb 上评论第二行,我仍然会收到该错误。
进行另一个实验,我在 mcc_controller.rb 上注释了“进程”方法,并让 routes.rb 上的第二行没有注释,一切正常,但显然,调用 127.0.0.1:3000/var1/var2/ var3/var4 不再起作用了。
在“处理”方法中,我有一个重定向,它应该返回主页以进行另一个计算。然后我写我的“过程”方法如下
class ArenaController < ApplicationController
def form
end
def process(var)
redirect_to "127.0.0.1:3000/", :status => 302
end
end
即使我转到 127.0.0.1,我也会得到一个“重定向循环”。
所以,我不明白为什么是那个循环。只有当我要求 127.0.0.1/var1/var2/var3/var4 时才应该调用“进程”方法,而不是在我要求根路由时调用。
我希望我是清楚的。
【问题讨论】:
标签: ruby-on-rails