Ruby on Rails Tuesday, February 4, 2014

Don't know about "best practice", but what I did was create a single page app, with an appcache manifest. Since the browser URL changes, you still have to create a bunch of entries in your routes file, but they all point to the same controller method. Then all the user data is stored in LocalStorage on the browser, so it is really fast and doesn't depend on having a connection. Then, I have a timer that periodically ajaxes any changes back up to the server, where it stores them as key/value pairs. When the user logs in, the browser requests all the user's data at once and recreates the LocalStorage. When the user logs out, LocalStorage is deleted. Once I set that up, I haven't had to touch a controller or model since: it is all js, css, erb, and helpers.




On Mon, Feb 3, 2014 at 2:20 PM, Arun kant sharma <iarunkant@gmail.com> wrote:
What is best practice to use angular with rails 4. I can think of following:

  1. Create an JSON API only rails app and deliver a single page app to client and angular take care of talking to API.
  2. Create an normal rails app with API which delivered through api.domain.com. Serve single page app and angular talk to api. (turbolinks can cause problems, but at least browser without json support can view a html page rendered by server)
  3. Same as 2 but instead single page app, each rendered view is treated as mini-SPA, I don't think it will be very helpful.

So what is best practice to use angular with rails 4.

I think this post is not particular to angularjs and seek best integration with client side MV* frameworks(like knockout and others).

I am creating a new application so I can decide early and choose best practice early and don't have to undo already made decisions if it was a existing application.

Thanks,

Arun

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-talk+unsubscribe@googlegroups.com.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/CAGHQMchtPM20XJVm%2BEC5c99daseQwR4FR6P4VAJuxEdFZqt36A%40mail.gmail.com.
For more options, visit https://groups.google.com/groups/opt_out.

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-talk+unsubscribe@googlegroups.com.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/CABceSpCArN2ApwxQOy_N0UwoYRUXQ3fDUWntA_J4F56TDMNhZQ%40mail.gmail.com.
For more options, visit https://groups.google.com/groups/opt_out.

No comments:

Post a Comment