【发布时间】:2016-02-13 20:56:48
【问题描述】:
我正在尝试将我视图中已经可用的大型 Ruby 哈希 (@hash) 传递回我的控制器以进行额外处理。哈希来自同一个控制器,但将由不同的操作处理。
Stack Overflow 上有几篇关于使用 params 哈希将变量(哈希或其他方式)从 View 传递到 Controller 的文章,它们运行良好,但是生成的 HTTP GET 请求非常长(在我的情况下)并且通常是“ Apache 抛出 414 Request-URI Too Large' 错误。
这是我认为的代码:
<%= link_to "Go to controller for processing", :controller => 'query', :action => 'parse_data', :hash_contents => @data %>
这是我在控制器中用来处理@data 的代码:
def parse_data
# take action on :hash_contents which now contains @data
end
也许我不应该使用 link_to 来处理这个问题,但我不知道将数据返回到我的控制器的替代方法。我还听说过使用 HTTP POST 而不是 GET(显然您可以传递隐藏字段),但我不确定如何在这种情况下实现它。非常感谢任何帮助!
【问题讨论】:
标签: ruby-on-rails parameter-passing large-data