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.


Reply via email to