Im trying to create a helper method for my admin links. in quite a few
views i have the code
<% if current_user %>
<%= link_to "Edit", edit_model_path(model) %>
<%= link_to "New", new_model_path %>
<%= link_to "Delete", model, :confirm => "Your a Noob", :method
=> :delete %>
<% end %>
that only display these when logged in.
I would like to do something like this in their place
<%= admin_links(model) %>
and pass the current item into the application helper method
def admin_links(m)
if current_user
a = "#{link_to "edit" edit_m_path(m)}"
a << "#{link_to "new" new_m_path}"
a << "#{link_to "Delete", m, :confirm => "Your a Noob", :method
=> :delete}"
end
end
Or something of the like. Im not as skilled in the way of helpers but
would like to be.
map.namespace(:admin) do |admin|
admin.resources :users, :member=>{:edit_password=>:get,
:update_password=>:post }
admin.resources :suppliers
admin.resources :categories
end
Now just use admin in the path methods
eg.
= link_to 'Edit', edit_admin_user_path(@user)
= link_to 'Password', edit_password_admin_user_path(@user)
= link_to 'Back', admin_users_path
In the form:
form_for [:admin,@user] do |f|
But have a look at the routing section on the railsguides site. There
are quite a few options for setting up routes and I still have to play
with some of them myself.
I am actually planning to eliminate the need for admin in my path
methods by using :name_prefix=>nil in the route. I think I did this
somewhere once when I needed to move a resource into the admin
namespace. It simplifies the process since the paths don't need to be
edited. But then admin wont appear or be required in the url.