2017-02-16 59 views
1

我正在使用按钮将第一个项目链接到第二个项目来整合2个rails项目。现在,我有这样的代码Form_tag链接到另一个文件夹中的页面

<%= form_tag fast_url_for(' ') do %> 
    <%= button_to AppConfig.app_clockout %> 
<% end %> 

和我的当前目录是

/var/www/html/wizTime/wizProject/Source/project_1 

,但我不知道这怎么能重定向到另一个项目的主页。我想要整合的第二个项目的目录是

/var/www/html/project_2 

请给我点子。谢谢!

+0

为什么你需要链接一个*表格*到另一个项目?你只是想要一个按钮/链接到其他项目?如果是这样 - 没问题,但不确定取决于目录结构是一个很好的方法,当你最终部署这些项目时 - 它们是否会拥有自己的域名?或子域名?一般来说,Rails项目是彼此独立运行的。你不只是像这样把它们中的两个破裂在一起。 –

+0

因为我知道如何链接到另一个按钮点击页面。是的,我只想要一个链接到另一个项目的按钮,并将显示其主页。这可能吗? – skyranch

+0

是的,他们将在部署时拥有自己的域。 – skyranch

回答

1

正如其他评论者所说 - 你可以创建一个链接到其他域。你不应该依赖你的目录结构 - 因为当你部署时,这个目录结构很可能会有微妙的差异。

因此,请改用域名。

您甚至可以将域放入环境变量中,以便您可以在开发计算机上使用不同的域(例如localhost:3000 vs localhost:3001)。你会像这样使用它们:

<%= link_to 'My App', ENV['MY_APP_DOMAIN'] %> 
<%= link_to 'My Other App', ENV['MY_OTHER_APP_DOMAIN'] %> 

然后google了解如何在本地机器上设置环境变量来设置值。

如果你想让它们成为按钮...那么你不需要使用表单。 button_to创建自己的形式,并且使用完全一样的方式作为的link_to例如:

<%= button_to 'My App', ENV['MY_APP_DOMAIN'] %> 
<%= button_to 'My Other App', ENV['MY_OTHER_APP_DOMAIN'] %> 

但是......你真的不需要使用一个按钮,如果你只是在做一个GET的URL像这样...

(您使用的按钮,当你需要数据,例如发布表单POST数据到创建操作)

您可以在CSS类和风格的只是通过链接向看起来就好像它是一个按钮。使用自举类

如:

<%= link_to 'My App', ENV['MY_APP_DOMAIN'], class: 'btn btn-success' %> 
<%= link_to 'My Other App', ENV['MY_OTHER_APP_DOMAIN'], class: 'btn btn-danger' %> 

或相似。

+0

谢谢!我只需要在另一个终端上运行localhost:3001,并且一切正常。现在我遇到了一个问题,就是如何从项目1中获取经过身份验证的用户,以便能够对其他项目进行身份验证。这两个项目都具有登录功能,但我希望用户能够在第一个项目上登录时登录到第二个项目。任何想法都会有很大的帮助。再次感谢你! – skyranch

+0

首先 - 我会谷歌“在轨道上单点登录”,看看你能找到多少...它不像你想象的那么容易。如果你卡住了...然后问一个关于堆栈溢出的新问题,我们会帮助你:) –

+0

哦,在轨道上单点登录的idk。谢谢! – skyranch

3

如果你只想要一个的link_to和你的项目以后会有域,你可以创建在轨像这样的链接: <%= link_to 'sec project', "http://www.rubyonrails.org/" %>这将创建一个普通的HTML链接:<a href=""http://www.rubyonrails.org/" ...> 形式通常不应链接到另一个项目?! 如果在提交表单后想要将视图重定向到另一个项目,则可以在提交后使用控制器操作和重定向。

相关问题