Added Meal edit/update
This commit is contained in:
parent
6b5cb85b11
commit
dfeb9af6db
@ -33,6 +33,16 @@ class MealsController < ApplicationController
|
|||||||
def edit
|
def edit
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def update
|
||||||
|
if @meal.update(meal_params)
|
||||||
|
flash[:notice] = 'Updated meal'
|
||||||
|
prepare_meals
|
||||||
|
render :index
|
||||||
|
else
|
||||||
|
render :edit
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
def destroy
|
def destroy
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<%= labelled_form_for @food,
|
<%= labelled_form_for @food,
|
||||||
url: food_path(@food, view: view),
|
url: food_path(@food, view: view),
|
||||||
method: :patch, remote: true,
|
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} %>
|
<%= 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,
|
remote: true,
|
||||||
html: {id: 'edit-meal-notes-form', name: 'edit-meal-notes-form'} do |f| %>
|
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',
|
<%= link_to l(:button_save), '', class: 'icon icon-save',
|
||||||
onclick: "$(event.target).closest('form').submit(); return false;" %>
|
onclick: "$(event.target).closest('form').submit(); return false;" %>
|
||||||
<%= link_to l(:button_cancel), '', class: 'icon icon-cancel',
|
<%= link_to l(:button_cancel), '', class: 'icon icon-cancel',
|
||||||
|
@ -8,6 +8,7 @@
|
|||||||
<h3><%= date == Date.current ? 'Today' : date.strftime('%F') %></h3>
|
<h3><%= date == Date.current ? 'Today' : date.strftime('%F') %></h3>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<% eaten, not_eaten = meals.partition { |m| m.eaten_at }
|
<% eaten, not_eaten = meals.partition { |m| m.eaten_at }
|
||||||
eaten.sort_by! { |m| m.eaten_at }
|
eaten.sort_by! { |m| m.eaten_at }
|
||||||
not_eaten.sort_by! { |m| m.created_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,
|
<%= labelled_form_for @measurement,
|
||||||
url: measurement_path(@measurement, view: view),
|
url: measurement_path(@measurement, view: view),
|
||||||
method: :patch, remote: true,
|
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} %>
|
<%= render partial: 'measurements/form', locals: {f: f} %>
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user