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 
> <webagent...@googlemail.com<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 
>> rubyonra...@googlegroups.com<javascript:>
>> .
>> To unsubscribe from this group, send email to 
>> rubyonrails-ta...@googlegroups.com <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 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.


Reply via email to