Skip to content

Instantly share code, notes, and snippets.

@spacerobotTR
Created August 4, 2017 02:20
Show Gist options
  • Save spacerobotTR/c07c6e9c7bb4514572b2ec71c2e933d3 to your computer and use it in GitHub Desktop.
Save spacerobotTR/c07c6e9c7bb4514572b2ec71c2e933d3 to your computer and use it in GitHub Desktop.
Todo Files
<div class="row clearfix">
<% if todo_item.completed? %>
<div class="complete">
<%= link_to complete_todo_list_todo_item_path(@todo_list, todo_item.id), method: :patch do %>
<i style="opacity: 0.4;" class="fa fa-check"></i>
<% end %>
</div>
<div class="todo_item">
<p style="opacity: 0.4;"><strike><%= todo_item.content %></strike></p>
</div>
<div class="trash">
<%= link_to todo_list_todo_item_path(@todo_list, todo_item.id), method: :delete, data: { confirm: "Are you sure?" } do %>
<i class="fa fa-trash"></i>
<% end %>
</div>
<% else %>
<div class="complete">
<%= link_to "Mark Complete", complete_todo_list_todo_item_path(@todo_list, todo_item.id), method: :patch %>
</div>
<div class="todo_item">
<p><%= todo_item.content %></p>
</div>
<div class="trash">
<%= link_to "Delete", todo_list_todo_item_path(@todo_list, todo_item.id), method: :delete, data: { confirm: "Are you sure?" } %>
</div>
<% end %>
</div>
Myapp::Application.routes.draw do
mount FileUploader::UploadEndpoint => "/files/upload"
root 'projects#index'
devise_for :users
devise_scope :user do
get '/users/sign_out' => 'devise/sessions#destroy'
end
resources :projects do
get '/comments/:id', to: 'comments#destroy'
resources :comments
resources :uploads
end
resources :todo_lists do
resources :todo_items do
member do
patch :complete
end
end
end
get "home/index"
get "home/minor"
end
class TodoItemsController < ApplicationController
before_action :set_todo_list
before_action :set_todo_item, except: [:create]
def create
@todo_item = @todo_list.todo_items.create(todo_item_params)
redirect_to @todo_list
end
def destroy
if @todo_item.destroy
flash[:success] = "Todo List item was deleted."
else
flash[:error] = "Todo List item could not be deleted."
end
redirect_to @todo_list
end
def complete
@todo_item.update_attribute(:completed_at, Time.now)
redirect_to @todo_list, notice: "Todo item completed"
end
private
def set_todo_list
@todo_list = TodoList.find(params[:todo_list_id])
end
def set_todo_item
@todo_item = @todo_list.todo_items.find(params[:id])
end
def todo_item_params
params[:todo_item].permit(:content)
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment