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.
Tonypm
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.