Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7689887
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 31, 20262026-05-31T20:16:09+00:00 2026-05-31T20:16:09+00:00

I have a Rails app that has 2 clients — an iOS app reads/writes

  • 0

I have a Rails app that has 2 “clients” — an iOS app reads/writes JSON, and Web browsers that read HTML.

Now, if I said “I want different output for different browsers/clients”, we could use different ERB files and render based on User-Agent or similar.

In this way Rails was imagined in the Web world — where I type “cap deploy”, and all of my “instances” are upgraded to the latest version (save active session AJAX calls).

As an iOS dev, however, I’m very used to if blocks in code to deal with different data versions & client app versions. It’s painful (but required).

I would love to be able to say “I will magically think of the perfect data structure in version 1.0”, but we probably all know that’s not true — I’ll want to add & deprecate attributes or even models as time goes.

I don’t want to mix all of that versioning logic with my normal HTML (which can upgrade gracefully, per above), so I’ve thought about:

  • Having a separate controller or just actions for my API calls from iOS
  • Writing a “forwarder” that treats the HTML/Web version as a layer on top of the API version

Am I trying to solve a Solved Problem? Are there any resources or guiding philosophies I should know about in undertaking this project?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-31T20:16:10+00:00Added an answer on May 31, 2026 at 8:16 pm

    I suggest you create 2 applications, one for the webapp and one for the API.

    You could have an external library with all the models, tests and business logic used in those 2 applications.

    You can then lock the api to a certain version of the library if needed.
    You can create multiple versions of the API without affecting older versions.
    You can implement caching at library level if needed and it will automatically affect all applications.

    With this model you can also create specific needs, for example, you may want shorter urls for the api than the real webapp, since you don’t care about SEO in the API.

    What do you think?

    Edit :

    Here is what I have in mind, library is in the middle.
    enter image description here

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have an app running Rails 2.3.5 that has a JSON API for much
I have a rails app that has asynchronous processing, and I'm having trouble getting
I have a rails app that has a private component and a public component.
We have a Rails app that instantiates a SWF object 16 times (it has
I have a rails app (rails 3.1.3) that has a shopping cart model. I
I have a simple user registration page in my rails app that has two
We have a Rails app that has some pages that are available to all
I have a rails app that has approx 30 matches in routes.rb match '/send-email'
I have a Rails app that has been running fine for months. The other
I have a Ruby on Rails app that has a scheduled job I execute

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.