Added Meal edit/update
This commit is contained in:
parent
6b5cb85b11
commit
dfeb9af6db
@ -33,6 +33,16 @@ class MealsController < ApplicationController
|
||||
def edit
|
||||
end
|
||||
|
||||
def update
|
||||
if @meal.update(meal_params)
|
||||
flash[:notice] = 'Updated meal'
|
||||
prepare_meals
|
||||
render :index
|
||||
else
|
||||
render :edit
|
||||
end
|
||||
end
|
||||
|
||||
def destroy
|
||||
end
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
<%= labelled_form_for @food,
|
||||
url: food_path(@food, view: view),
|
||||
method: :patch, remote: true,
|
||||
html: {id: 'food-edit-form', name: 'food-edit-form'} do |f| %>
|
||||
html: {id: 'edit-food-form', name: 'edit-food-form'} do |f| %>
|
||||
|
||||
<%= render partial: 'foods/form', locals: {f: f} %>
|
||||
|
||||
|
15
app/views/meals/_edit_form.html.erb
Normal file
15
app/views/meals/_edit_form.html.erb
Normal file
@ -0,0 +1,15 @@
|
||||
<%= labelled_form_for @meal,
|
||||
url: meal_path(@meal),
|
||||
method: :patch, remote: true,
|
||||
html: {id: 'edit-meal-form', name: 'edit-meal-form'} do |f| %>
|
||||
|
||||
<%= render partial: 'meals/form', locals: {f: f} %>
|
||||
|
||||
<div class="tabular">
|
||||
<p>
|
||||
<%= submit_tag l(:button_save) %>
|
||||
<%= link_to l(:button_cancel), "#",
|
||||
onclick: '$(this).closest("tr").remove(); return false;' %>
|
||||
</p>
|
||||
</div>
|
||||
<% end %>
|
@ -3,7 +3,7 @@
|
||||
remote: true,
|
||||
html: {id: 'edit-meal-notes-form', name: 'edit-meal-notes-form'} do |f| %>
|
||||
|
||||
<%= f.text_field :notes, size: 50, required: false, label: '' %>
|
||||
<%= f.text_field :notes, size: 40, required: false, label: '' %>
|
||||
<%= link_to l(:button_save), '', class: 'icon icon-save',
|
||||
onclick: "$(event.target).closest('form').submit(); return false;" %>
|
||||
<%= link_to l(:button_cancel), '', class: 'icon icon-cancel',
|
||||
|
@ -8,6 +8,7 @@
|
||||
<h3><%= date == Date.current ? 'Today' : date.strftime('%F') %></h3>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<% eaten, not_eaten = meals.partition { |m| m.eaten_at }
|
||||
eaten.sort_by! { |m| m.eaten_at }
|
||||
not_eaten.sort_by! { |m| m.created_at }
|
||||
|
7
app/views/meals/edit.js.erb
Normal file
7
app/views/meals/edit.js.erb
Normal file
@ -0,0 +1,7 @@
|
||||
$('tr[id=meal-<%= @meal.id %>]').nextUntil('tr.primary, tr.date', ':not(.ingredient)').remove();
|
||||
var columns = $('table > tbody > tr.ingredient > td').length;
|
||||
$('tr[id=meal-<%= @meal.id %>]').nextUntil('tr.primary, tr.date').addBack().last().after(
|
||||
'<tr><td class="form" colspan="'+columns+'"><div id="edit-meal">' +
|
||||
'<%= j render partial: 'meals/edit_form' %>' +
|
||||
'</div></td></tr>'
|
||||
);
|
1
app/views/meals/index.js.erb
Normal file
1
app/views/meals/index.js.erb
Normal file
@ -0,0 +1 @@
|
||||
$('#meals').html('<%= j render partial: 'meals/index' %>');
|
@ -1,7 +1,7 @@
|
||||
<%= labelled_form_for @measurement,
|
||||
url: measurement_path(@measurement, view: view),
|
||||
method: :patch, remote: true,
|
||||
html: {id: 'measurement-edit-form', name: 'measurement-edit-form'} do |f| %>
|
||||
html: {id: 'edit-measurement-form', name: 'edit-measurement-form'} do |f| %>
|
||||
|
||||
<%= render partial: 'measurements/form', locals: {f: f} %>
|
||||
|
||||
|
Reference in New Issue
Block a user