On Tue, Nov 20, 2012 at 7:48 PM, Werner <[email protected]>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 [email protected].
> To unsubscribe from this group, send email to
> [email protected].
> 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 [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit https://groups.google.com/groups/opt_out.