我需要将参数从控制器中的一个方法传递给另一个方法。
根据我的理解,我必须将参数作为GET
传递给url字符串。
加密数据的最佳方法是什么,所以没有人能看到字符串中实际传递的内容?另外,有没有办法通过POST
传递它,或者我原来的理解是否正确?
答案 0 :(得分:2)
我没有使用过RoR,但在网络世界中,这个问题通过会话解决了。使用会话可以将参数存储在服务器上,避免使用GET或POST发送敏感数据(两者都不安全)。
Ruby on Rails Security Guide看起来像是与此相关的精彩内容。
答案 1 :(得分:0)
我建议您将代码抽象为lib/
,这样您就不必调用其他方法。而不是发出新的HTTP请求,只需将代码放在中心位置并从那里调用它。
class MyController < ApplicationController
def index
MyLibrary::Thing.do_stuff
end
def show
MyLibrary::Thing.do_stuff
end
end
# lib/my_library/thing.rb
module MyLibrary
module Thing
def self.do_stuff
# do stuff!
end
end
end
这样,您可以在多个操作中访问相同的代码,而无需执行额外的HTTP请求。