I am trying to use the security feature on my Users activescaffold.  I
want to display an action link, 'activate_by_id', when a user's record
has a nil value on the field activated_at.

I followed the directions 'To enable or disable action links on a per
record basis' - 
https://github.com/activescaffold/active_scaffold/wiki/API:-Action-Link
as well as reading several comments in he discussion group.  I'm not
sure what is wrong, but AS does not seem to recognize or obey the
'authorized_for_activate_by_id?' method in my User model.  I have also
tried with 'authorized_for_delete?'.

I am using rails 3.0.3 and latest version of AS branch.  I am also
using the CanCan bridge (could this conflict?).

Below are my models and controllers for this active scaffold.  Any
suggestions on getting my action_link to obey the authorized_for
definition?  Currently no authorized_for function in the model seems
to have an affect on the display of the action links at all.


Controller:

class UsersController < ApplicationController
  # Be sure to include AuthenticationSystem in Application Controller
instead
  include AuthenticatedSystem

  layout "activescaffold"
  active_scaffold :users do |config|
    config.action_links.add 'activate_by_id',
                            :action=>"activate_by_id",
                            :type=>:member,
                            :inline =>true,
                            :crud_type=>:update
  end

  def activate_by_id
    #logout_keeping_session!
    debugger
    user = User.find_by_id(params[:id]) unless params[:id].blank?
    user.activate!
  end
end

Model:

  def authorized_for_activate_by_id?
    false
  end

  def authorized_for_delete?
    false
  end

-- 
You received this message because you are subscribed to the Google Groups 
"ActiveScaffold : Ruby on Rails plugin" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/activescaffold?hl=en.

Reply via email to