Im cornered with this problem in one of my apps. Let me define the
models first.
Paycheck has_one salstruct, :class_name =>
''Salary_Structure''
Paycheck belongs_to employee
Adjustment #a model for additions/deductions that do not fall into the
normal Salary Structure and are last minute add-ons to the Paycheck.
eg, Christmas bonus.
The Adjustments table has the columns Name (string) and Value (integer
in terms of percentage).
I allow 2 Adjustments for every Paycheck. The paycheck table has the
columns Adj_1 (string), Adj_2 (string), Adj_1_value (float),
Adj_2_value (float).
There is no association between Paycheck and Adjustment.
In the _paycheck partial (used for both editing and creating
paychecks) , I use the following code.
<%= f.collection_select :adj_1, current_user.adjustments.find
(:all) , :value, :name, {:include_blank=>true, :id =>
"paycheck_adj_1"},{:onblur => ''calculate();''}
%>%
This code lets the user select the Adjustment by its name (say,
Christmas bonus, Leave Deduction, etc), but I have set the value that
gets into the DB as the ''value'' attribute of the adjustment. I
have
done this because i am using Prototype to perform some calculations on
the values of the adjustments chosen.
The following are my requirements,
- the ''name'' attribute of the adjustment chosen by the user,
should go
into paycheck_adj_1/paycheck_adj_2 respectively.
- the Prototype JS function ''calculate()'' uses the
''value'' attribute
of the chosen adjustment in the form of DOM_ID.value. Preferably, I
should not have to hack into that code too much as its working great
right now. And the results of these calculations are stored in
paycheck_adj_1_value/paycheck_adj_2_value respectively.
- If the User chooses to delete an Adjustment at any time from the
Adjustments table, It should not affect the Adjustments data stored
for issued Paychecks (which is why I have designed the DB the way I
have)
Now, although I think Ive got the 3rd requirement covered, the first
two pose a problem in that I cant think of a way to satisfy both
simultaneously. I do hope though, that some of you can help me resolve
this problem. Will gladly explain more in detail if needed.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Ruby on Rails: Talk" group.
To post to this group, send email to
rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
To unsubscribe from this group, send email to
rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---