开发者

Rails: How to separate static content and application but while maintaining a connection between the 2?

Ok this question might sound a bit weird, let me try to explain what I am trying to achieve here.

I need: - some mostly static pages: home page, about us, etc. the usual suspects - a full complex rails web app

The web app being the heart of the system will have a lot of stuff, including user authentication (with devise by the way). The application will have a standard navigation menu with possible actions changing depending on user status (login or not, admin or not, etc).

Until now, nothing out of the ordinary.

However for unrelated reason, I MUST have the entry point of the whole system be the home page that will be hosted on another server (ergh).

So now,开发者_JAVA百科 since my home page and other static pages will be on server A and all the application will be on server B how can I maintain contact between the 2 ?

Meaning: keep my navigation menu dynamic even on my static pages, have a sign-in / sign-up form on my static server but registering an account on the "real" application server ? They can share the same database, no pb there.

Any pointers on how to do this ? I would really like not to put some iframes on the static site...

Thanks !

Alex



For the signin/signup stuff, you can have your forms action going to B and redirecting to A.

To display the right stuff in the menus you can make a jsonp call(as Chris said) to fetch either the entire header or specific parts of the header that are dynamic.

If you are just looking to include the users name, you can also simply store their name in a cookie and then use javascript to display it in the header.
If there's no cookie display a link to login/signup.

edit: For the jsonp calls take a look at a javascript framework to make the call client side, I personally use jQuery http://api.jquery.com/jQuery.ajax (and look at the jsonp options).


Thinking out loud...

Can you dynamically build the menus using javascript/AJAX in the static code? Perhaps that could query server B (via jsonp) to determine the options...

Its going to have do some "funky" (tm) stuff to track whether there is a user session or not... and linking them...

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜