Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/22.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/rust/4.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 如何在Vue.js dev和Rails 4后端之间共享会话?_Ruby On Rails_Ruby_Session_Vue.js_Vuejs2 - Fatal编程技术网

Ruby on rails 如何在Vue.js dev和Rails 4后端之间共享会话?

Ruby on rails 如何在Vue.js dev和Rails 4后端之间共享会话?,ruby-on-rails,ruby,session,vue.js,vuejs2,Ruby On Rails,Ruby,Session,Vue.js,Vuejs2,我正在使用与Rails 4.2后端共存的Vue.js cli应用程序 这里的目标是使用现有会话。当我为生产模式编译Vue.js应用程序时,我可以在开发模式下运行Rails服务器,Vue应用程序可以从public目录中正确运行,会话可以工作,因为它们在同一个域中运行 尝试这样开发和调试是非常困难的,因为在进行任何更改后,您必须编译Vue应用程序进行生产测试,这也使得无法利用Vue Devtools进行调试 如果我在开发模式下为Vue应用程序提供服务,这是通过webpack实现的,那么Vue应用程序

我正在使用与Rails 4.2后端共存的Vue.js cli应用程序

这里的目标是使用现有会话。当我为生产模式编译Vue.js应用程序时,我可以在开发模式下运行Rails服务器,Vue应用程序可以从
public
目录中正确运行,会话可以工作,因为它们在同一个域中运行

尝试这样开发和调试是非常困难的,因为在进行任何更改后,您必须编译Vue应用程序进行生产测试,这也使得无法利用Vue Devtools进行调试


如果我在开发模式下为Vue应用程序提供服务,这是通过webpack实现的,那么Vue应用程序和Rails应用程序将分别提供服务,因此现在处于不同的域中,这导致没有会话共享,必须尝试处理CORS等。

如果可以,请摆脱webpack。Vue可以很好地使用。 在rails模板中实例化vue应用程序时,使用
{@model.to_json}
可以非常轻松地传递数据


Vue组件可以在rails模板或资产管道中使用x-template语法编写。

文件
config/index.js
中有一个名为proxyTable的选项

通过将此选项设置为
proxyTable:{”/,我们可以通过本地Rails服务器将webpack root设置为代理http://localhost:3000“}


3000是Rails dev服务器的默认端口,但如果您在其他端口上运行,则可能需要更改此端口。

不知道任何简单的方法,但可以将Vue.js请求代理到网页包源,例如使用
Rails反向代理
。不过,我没有亲自尝试。我们正在使用Webpack和vue cli进行构建过程,而没有使用Webpack gem。