title: seeking guidance for structuring e-commerce rails application
body: <p>I'm looking for some guidance for a personal project of mine in RoR. I learned RoR using Michael Hartl's online book, and now I am building a different application for my own edification.</p>
  
  <p>My web application will be similar to an e-commerce website, except instead of selling products, I'll be selling menu items from a restaurant. I have already implemented a users resource which stores basic information (name, email etc.), but I am seeking guidance about the restaurant resource.</p>
  
  <p>The restaurant 'show' page should display the restaurant name, a paragraph description of the restaurant, 3-5 photographs, a few descriptive tags, and a full menu with the dish names and prices. How should I attack this databasing problem? I am considering creating three models here, something like the following:</p>
  
  <pre><code>class Restaurant &lt; ActiveRecord::Base
   has_many :dishes, :through =&gt; :menus
  end
  
  class Menu &lt; ActiveRecord::Base
   belongs_to :restaurant
  end
  
  class Dish &lt; ActiveRecord::Base
   belongs_to :menu
   has_one :restaurant, :through :menus
  end
  </code></pre>
  
  <p>Is that the right approach?</p>
  
  <p>I have two concerns about this:</p>
  
  <p>1) A string attribute in the database is limited to 255 characters, not nearly enough to store a restaurant description. How do I proceed here? I'd like to make it easy for the description to be edited by an admin user.</p>
  
  <p>2) How do I handle the pictures? I did some searching and some people have suggested CarrierWave for attachment uploading. Does anyone have any other suggestions or alternatives? These photos should be easily changeable by an admin user, and they should belong to a restaurant.</p>
  
  <p>Thanks for your help.</p>