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.
Greetings
Am Dienstag, 20. November 2012 11:04:53 UTC+1 schrieb jim:
>
>
>
>
> On Tue, Nov 20, 2012 at 5:46 PM, Werner
> <[email protected]<javascript:>
> > 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/**
>>>> msg/rubyonrails-talk/-/**GktAGfGYQm4J<https://groups.google.com/d/msg/rubyonrails-talk/-/GktAGfGYQm4J>
>>>> .
>>>>
>>>> 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]<javascript:>
>> .
>> To unsubscribe from this group, send email to
>> [email protected] <javascript:>.
>> To view this discussion on the web visit
>> https://groups.google.com/d/msg/rubyonrails-talk/-/aGQY2mvKhoUJ.
>>
>> 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].
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.