Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 从相同的SGID加载ActionText::Attachable在还原数据库后不再工作_Ruby On Rails_Ruby On Rails 6_Trix_Actiontext - Fatal编程技术网

Ruby on rails 从相同的SGID加载ActionText::Attachable在还原数据库后不再工作

Ruby on rails 从相同的SGID加载ActionText::Attachable在还原数据库后不再工作,ruby-on-rails,ruby-on-rails-6,trix,actiontext,Ruby On Rails,Ruby On Rails 6,Trix,Actiontext,我正在使用ActionText和EmbeddedIFRAME来处理YouTube和Spotify嵌入之类的东西。它工作得很好!下面是我呈现HTML时的样子(如您所见,这是针对Spotify嵌入的): 这将工作并返回关联的ActiveRecord模型。但是,在连接到还原的数据库时运行相同的命令会导致nil 我想知道是否有人能解释这件事 我已将问题缩小到一条无效签名信息。例如,在Heroku上,我看到: SignedGlobalID.send(:pick_verifier, for: "a

我正在使用ActionText和Embedded
IFRAME
来处理YouTube和Spotify嵌入之类的东西。它工作得很好!下面是我呈现HTML时的样子(如您所见,这是针对Spotify嵌入的):

这将工作并返回关联的ActiveRecord模型。但是,在连接到还原的数据库时运行相同的命令会导致
nil

我想知道是否有人能解释这件事

我已将问题缩小到一条
无效签名
信息。例如,在Heroku上,我看到:

SignedGlobalID.send(:pick_verifier, for: "attachable").verify(node["sgid"])
=> {"gid"=>"gid://myapp/Spotify/1?expires_in", "purpose"=>"attachable", "expires_at"=>nil}
本地的位置,如果我运行它:

ActiveSupport::MessageVerifier::InvalidSignature (ActiveSupport::MessageVerifier::InvalidSignature)
可能是因为一台服务器上的秘密与另一台服务器上的不同吗?如果是这样,那么正确的方法是什么,以便SGID可以跨服务器“移植”


我正在运行Rails 6.1 alpha。

好的,很抱歉,但事实证明,尽管在两台服务器上定义了相同的
Rails.application.credentials.secret\u key\u base
,其中一台服务器(Heroku)也定义了一个不同的
secret\u key\u base
环境变量,该变量似乎具有优先权。一旦我在新服务器上定义了这个,SGID就可以正常工作了。

好的,很抱歉,但是事实证明,尽管在两台服务器上都定义了相同的
Rails.application.credentials.secret\u key\u base
,其中一台服务器(Heroku)也定义了一个不同的
secret\u key\u base
环境变量,该变量似乎优先。一旦我在新服务器上定义了它,SGID就可以正常工作了

SignedGlobalID.find("BAh7CEkiCGdpZAY6BkVUSSIoZ2lkOi8vYmxvZ2xpbmUvU3BvdGlmeS8xP2V4cGlyZXNfaW4GOwBUSSIMcHVycG9zZQY7AFRJIg9hdHRhY2hhYmxlBjsAVEkiD2V4cGl
yZXNfYXQGOwBUMA==--fcc8035346e616846f2068f52f685d2feb3b30e2", for: "attachable")
SignedGlobalID.send(:pick_verifier, for: "attachable").verify(node["sgid"])
=> {"gid"=>"gid://myapp/Spotify/1?expires_in", "purpose"=>"attachable", "expires_at"=>nil}
ActiveSupport::MessageVerifier::InvalidSignature (ActiveSupport::MessageVerifier::InvalidSignature)