On Tue, Nov 20, 2012 at 5:46 PM, Werner <webagentur.la...@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/**
>>> 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 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/-/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.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to