diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb index c4e5365..2752d9a 100644 --- a/app/controllers/projects_controller.rb +++ b/app/controllers/projects_controller.rb @@ -32,6 +32,21 @@ class ProjectsController < ApplicationController def show set_project end + + # GET /projects/1/edit + # GET /projects/1/edit.json + def edit + set_project + end + + def update + set_project + if @project.update(params[:project]) + redirect_to(project_path(@project.id)) + else + render "edit" + end + end private # Use callbacks to share common setup or constraints between actions. diff --git a/app/models/project.rb b/app/models/project.rb index 9994bdf..d3b73bc 100644 --- a/app/models/project.rb +++ b/app/models/project.rb @@ -5,7 +5,12 @@ class Project < KalibroEntities::Entities::Project delegate :url_helpers, to: 'Rails.application.routes' def persisted? - false + Project.exists?(self.id) unless self.id.nil? + end + + def update(attributes = {}) + attributes.each { |field, value| send("#{field}=", value) if self.class.is_valid?(field) } + self.save end def self.latest(count = 1) diff --git a/app/views/projects/_form.html.erb b/app/views/projects/_form.html.erb index 49b4c0a..496ba49 100644 --- a/app/views/projects/_form.html.erb +++ b/app/views/projects/_form.html.erb @@ -1,4 +1,3 @@ - <% #raise @project.inspect %> <%= form_for(@project) do |f| %> <%= render :partial => 'shared/form_errors', :locals => {:object => @project} %> diff --git a/app/views/projects/edit.html.erb b/app/views/projects/edit.html.erb new file mode 100644 index 0000000..c817177 --- /dev/null +++ b/app/views/projects/edit.html.erb @@ -0,0 +1,5 @@ +