Search code examples
ruby-on-railsruby-on-rails-4linkedin-apifrontend

Rails - Edit data on front-end like in Linkedin's profiles pages


Is it possible, in a RoR web application, to allow users to edit elements which are in a Show page?

The target would be something like on Linkedin, when you edit your own profile page (moving your mouse over a field gives you the ability to edit it). How do they manage to do that? Is it on a Show page or an Edit page? What kind of front-end technology do we need?

I'm not a big fan of the traditional 'Edit.html' vs 'Show.html'.

Many thanks! :)


Solution

  • Yes you can use your show page as an edit page. You could set up your controller to something comparable to this:

    your_controller.rb

    class YourController < Application Controller
      before_filter :show_user      
    
      def show
        render :edit
      end
    
      def edit; end
    
      private
    
      def show_user
        @user = current_user
      end
    
    end
    

    Also don't forget your 'update' method within this controller and params that you are passing. Then you can create your edit.html view that acts as a show page, but allows edits to take place. As far as editing comparable to LinkedIn, you can use the 'best_in_place' gem for inline editing. Found here: https://github.com/bernat/best_in_place