#1
  1. No Profile Picture
    Contributing User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Mar 2003
    Posts
    174
    Rep Power
    12

    Restful routing seems excessive at times - I want to simplify


    I'm still trying to get used to REST concepts and forms

    I have a very simple controller that updates user profile data. I have this link that takes me to the controller:

    <%= link_to('Profile', :controller => "operator_profile", :action => "edit") %>

    I then want to simply display the operator's data like this:

    def edit
    @operator = Operator.find(current_operator.id)
    end

    and I want a form that posts to a update method in operator_profile. in my routes I have

    resources perator_profile

    I feel like I'm completely locked into the 7 base methods of REST and everything else throws routing errors

    I couldn't even get the update method to work.

    Can this be simplified?
  2. #2
  3. No Profile Picture
    Contributing User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Mar 2003
    Posts
    174
    Rep Power
    12
    Update:

    I realized I should also attempt to go w/ a operations_controller instead of the operator_profile_controller. So I did that and I now have in routes:

    resources perations

    and in operations controller I have all 7 rest methods.

    And now I'm getting this:

    No route matches {:controller=>"operators", :action=>"edit"}

    because of this link in application.html.erb:

    <%= link_to('Profile', :controller => "operators", :action => "edit") %>

    and this fails as well:

    <%= link_to('Profile', :controller => "operators_profile", :action => "edit") %>

    My model is operator.rb

    Here's a dump of all my operator related routes:

    Code:
          operator_profile_index GET    /operator_profile(.:format)                     {:action=>"index", :controller=>"operator_profile"}
                                 POST   /operator_profile(.:format)                     {:action=>"create", :controller=>"operator_profile"}
            new_operator_profile GET    /operator_profile/new(.:format)                 {:action=>"new", :controller=>"operator_profile"}
           edit_operator_profile GET    /operator_profile/:id/edit(.:format)            {:action=>"edit", :controller=>"operator_profile"}
                operator_profile GET    /operator_profile/:id(.:format)                 {:action=>"show", :controller=>"operator_profile"}
                                 PUT    /operator_profile/:id(.:format)                 {:action=>"update", :controller=>"operator_profile"}
                                 DELETE /operator_profile/:id(.:format)                 {:action=>"destroy", :controller=>"operator_profile"}
    
    
                       operators GET    /operators(.:format)                            {:action=>"index", :controller=>"operators"}
                                 POST   /operators(.:format)                            {:action=>"create", :controller=>"operators"}
                    new_operator GET    /operators/new(.:format)                        {:action=>"new", :controller=>"operators"}
                   edit_operator GET    /operators/:id/edit(.:format)                   {:action=>"edit", :controller=>"operators"}
                        operator GET    /operators/:id(.:format)                        {:action=>"show", :controller=>"operators"}
                                 PUT    /operators/:id(.:format)                        {:action=>"update", :controller=>"operators"}
                                 DELETE /operators/:id(.:format)                        {:action=>"destroy", :controller=>"operators"}

IMN logo majestic logo threadwatch logo seochat tools logo