Hi! Is there anywhere on the net a sample of some basic app (with actions like create, edit etc.) that uses single table inheritance? I''m trying to create (my first) app with 2 different types of users and while it basically works, my code is quite messy. I.e. i''ve got 2 forms, each for different type of user. To use the same rhtml files for creating and editing the user, i need to pass to the form file @action (which action should be performed on submit) and @submit_value (text on submit button) parameters and in case of edit action also pass :id => @user to the action. It must be done in every action in controller that renders a form. Would it be better (simpler for sure) to create 2 sets of forms, which would have all fields identical and only differ in action, id passed to it and value of the submit button? -- Posted via http://www.ruby-forum.com/.
g0nzo wrote:> Hi! > > Is there anywhere on the net a sample of some basic app (with actions > like create, edit etc.) that uses single table inheritance? > > I''m trying to create (my first) app with 2 different types of users and > while it basically works, my code is quite messy. > > I.e. i''ve got 2 forms, each for different type of user.I''d use one form and extend it for user b with a simple if statement. _T -- Posted via http://www.ruby-forum.com/.
> Would it be better (simpler for sure) to create 2 sets of forms, which > would have all fields identical and only differ in action, id passed to > it and value of the submit button?I think it''s a matter of style and how much difference there is between the forms. If the forms are quite different it makes sense to have two forms as partials and let your layout choose which one to render. If the forms are similar with a few differences then it makes sense to use one form and update the needed values dynamically. In general, I prefer to make my layouts, views, and partials dynamic and set the necessary attributes in all my actions if necessary. This provides for better html re-use; which I also find is the biggest pane to maintain if your not re-using. Second, it encapsulates the differences between all the views in one location, the controller. This makes for easier viewing and and easier updating. my $.02, William -- Posted via http://www.ruby-forum.com/.
Seemingly Similar Threads
- Re: ActiveRecord::SubclassNotFound: The single-table inheritance mechanism failed to locate the subclass: 'Transactions::DummyDdnlTransaction'. This error is raised because the column 'type' is reserved for storing the class in case of inheritance. P
- acts_as_taggable with single-table inheritance?
- Recursive Tables + a single table inheritance Q
- Single-table inheritance and eager loading
- Single Table Inheritance and :conditions