On Tue, Nov 20, 2012 at 7:48 PM, Werner <webagentur.la...@googlemail.com>wrote:
> o.k. > Now it is like that: > > def update > > if params[:booking_ids] > params[:booking_ids].each do > Booking.update(params[:booking].keys, > params[:booking].values).reject { |p| p.errors.empty? } > end > end > > respond_to do |format| > format.js{ > > @project = Project.find(params[:id]) > @main_hours = main_hours_sum(@project.id) > } > end > end > > def main_hours_sum(id) > hours ||= Booking.where(project_id: id).sum("hour") > end > > > update.js.erb > > alert('<%= @main_hours %>') > > The alert pops up and shows the correct amount of hours.. > Thanks so far.....but I dont have an idea how to update/reset the > @main_hours on the edit page where it is shown. As I dont leave this page, > no request - no update. > May be my understanding of this process is not enough yet. > If you can show us the code of your edit template, I can help you with the javascript to update the total number of hours. > > Greetings > > > > Am Dienstag, 20. November 2012 11:04:53 UTC+1 schrieb jim: >> >> >> >> >> On Tue, Nov 20, 2012 at 5:46 PM, Werner <webagent...@googlemail.**com>wrote: >> >>> Sure.. >>> >>> def edit >>> @booking = Booking.new >>> @project = Project.find(params[:id]) >>> @main_hours = main_hours_sum(@project.id) >>> ... >>> end >>> >>> def main_hours_sum(id) >>> Booking.where(project_id: id).sum("hour") >>> end >>> >>> def update >>> respond_to do |format| >>> >>> format.js >>> end >>> end >>> >>> update.js.erb >>> <% if params[:booking_ids] %> >>> <% params[:booking_ids].each do %> >>> <% Booking.update(params[:**booking].keys, params[:booking].values). >>> **reject { |p| p.errors.empty? } %> >>> <% end %> >>> >>> <%end%> >>> >> >> You need to move the logic in update.js.erb to the update action. I was >> looking for >> the edit template. I'd like to see how you use the @main_hours variable. >> What I'm thinking >> is this on this update action and erb. >> >> def update >> @project = ... #fetch project here >> >> # move your logic in the view here >> # there's something missing here :D >> if params[:booking_ids] >> params[:booking_ids].each do >> Booking.update(params[:**booking].keys, >> params[:booking].values).**reject >> { |p| p.errors.empty? } >> end >> end >> >> respond_to do |format| >> format.html >> format.js { @main_hours = main_hours_sum(@project.id) } >> end >> end >> >> # update.js.erb >> # use @main_hours to update whatever you need to update on the view >> >> alert('<%= @main_hours %>') >> >> >>> >>> >>> >>> >>> >>> >>> Am Dienstag, 20. November 2012 09:59:58 UTC+1 schrieb jim: >>>> >>>> >>>> Hi! >>>> >>>> On Tue, Nov 20, 2012 at 4:53 PM, Werner >>>> <webagent...@googlemail.**com>wrote: >>>> >>>>> Hi jim >>>>> >>>>> As I am using remote: true I created a update.js.erb and a respond_to >>>>> do |format| block. >>>>> Copied the format html ocde into the update.js.erb and the update >>>>> process is still working.. so far so good. >>>>> >>>>> But it is unclear to me how to update the >>>>> Model.where(model_id: id).sum("attribute") query which is in edit >>>>> action. >>>>> >>>> >>>> Can you paste in part of the edit template where you use the result of >>>> this query? >>>> >>>> >>>>> Using html, after update the edit action is called and the query is >>>>> refreshed. How to get this working with js? >>>>> Something like a submit or refreshing the edit action..? >>>>> >>>> >>>> Can you also paste your edit and update actions so we can work on the >>>> code >>>> level. >>>> >>>> >>>>> >>>>> Thanks for sharing.. >>>> >>>> >>>>> >>>>> >>>>> >>>>> >>>>> Am Montag, 19. November 2012 15:30:42 UTC+1 schrieb jim: >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> On Mon, Nov 19, 2012 at 10:25 PM, Werner <webagent...@googlemail.** >>>>>> com> wrote: >>>>>> >>>>>>> On my edit page I can update values using ajax. >>>>>>> >>>>>>> In my edit action I also have something like: Model.where(model_id: >>>>>>> id).sum("attribute") >>>>>>> As the edit action is not executed anymore, I dont get a proper >>>>>>> result after I add some new value, have to reload the page. >>>>>>> >>>>>>> How is the best way to actualize the sum after edit.. ? >>>>>>> >>>>>> >>>>>> Are you updating the values by calling $.ajax or just passing in >>>>>> remote: true on your forms? >>>>>> >>>>>> If you use $.ajax, I suggest that you pass in the sum as json which >>>>>> $.ajax can process. If you're >>>>>> using remote: true, you can create an update.js.erb or update.js.haml >>>>>> which will be rendered >>>>>> after you update. >>>>>> >>>>>> >>>>>>> >>>>>>> Thanks >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> 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 rubyonra...@googlegroups.**com. >>>>>>> To unsubscribe from this group, send email to rubyonrails-ta...@** >>>>>>> googlegroups****.com. >>>>>>> >>>>>>> To view this discussion on the web visit >>>>>>> https://groups.google.com/d/**ms****g/rubyonrails-talk/-/**RHAW38e5g >>>>>>> ****OwJ<https://groups.google.com/d/msg/rubyonrails-talk/-/RHAW38e5gOwJ> >>>>>>> . >>>>>>> For more options, visit https://groups.google.com/**grou**** >>>>>>> ps/opt_out <https://groups.google.com/groups/opt_out>. >>>>>>> >>>>>>> >>>>>>> >>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> ------------------------------******------------------------------*** >>>>>> ***- >>>>>> visit my blog at http://jimlabs.heroku.com >>>>>> >>>>> -- >>>>> 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 rubyonra...@googlegroups.**com. >>>>> To unsubscribe from this group, send email to rubyonrails-ta...@** >>>>> googlegroups**.com. >>>>> To view this discussion on the web visit https://groups.google.com/d/* >>>>> *ms**g/rubyonrails-talk/-/**GktAGfGYQ**m4J<https://groups.google.com/d/msg/rubyonrails-talk/-/GktAGfGYQm4J> >>>>> . >>>>> >>>>> For more options, visit >>>>> https://groups.google.com/**grou**ps/opt_out<https://groups.google.com/groups/opt_out> >>>>> . >>>>> >>>>> >>>>> >>>> >>>> >>>> >>>> -- >>>> ------------------------------****------------------------------****- >>>> visit my blog at http://jimlabs.heroku.com >>>> >>> -- >>> 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 rubyonra...@googlegroups.**com. >>> To unsubscribe from this group, send email to rubyonrails-ta...@** >>> googlegroups.com. >>> To view this discussion on the web visit https://groups.google.com/d/** >>> msg/rubyonrails-talk/-/**aGQY2mvKhoUJ<https://groups.google.com/d/msg/rubyonrails-talk/-/aGQY2mvKhoUJ> >>> . >>> >>> For more options, visit >>> https://groups.google.com/**groups/opt_out<https://groups.google.com/groups/opt_out> >>> . >>> >>> >>> >> >> >> >> -- >> ------------------------------**------------------------------**- >> visit my blog at http://jimlabs.heroku.com >> > -- > 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@googlegroups.com. > To unsubscribe from this group, send email to > rubyonrails-talk+unsubscr...@googlegroups.com. > To view this discussion on the web visit > https://groups.google.com/d/msg/rubyonrails-talk/-/Uww8jzoTzJcJ. > > For more options, visit https://groups.google.com/groups/opt_out. > > > -- ------------------------------------------------------------- visit my blog at http://jimlabs.heroku.com -- 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@googlegroups.com. To unsubscribe from this group, send email to rubyonrails-talk+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.