Ruby on Rails Saturday, March 26, 2016

Dear friends,

I get the following error when I goto the privilege page.

NoMethodError in Employee#edit_privilege

Showing app/views/employee/edit_privilege.html.erb where line #82
raised:

You have a nil object when you didn't expect it!
You might have expected an instance of ActiveRecord::Base.
The error occurred while evaluating nil.[]
Extracted source (around line #82):

79: <table width="100%" align="center" cellspacing="1"
cellpadding="1" class="table_design">
80: <tr>
81: <% @privilege_tags.each_with_index do
|privilege_tag,ind| %>
82: <% all_privileges =
privilege_tag.privileges.all(:conditions=>"name<>'FinanceControl'",:order=>"priority
ASC").select{|p| p.applicable?} %>
83: <% if all_privileges.count > 0 %>
84: <% if ind==0 or ind==1 or ind==4 %>
85: <td>



The development log is below:

Processing EmployeeController#edit_privilege (for 127.0.0.1 at
2016-03-26 13:49:00) [GET]
Parameters: {"action"=>"edit_privilege", "controller"=>"employee",
"id"=>"emp-0002"}
[4;35;1mUser Load (1.0ms)[0m [0mSELECT * FROM `users` WHERE
(`users`.`id` = 1) AND (`users`.`is_deleted` = 0) [0m
[4;36;1mConfiguration Load (1.0ms)[0m [0;1mSELECT * FROM
`configurations` WHERE (`configurations`.`config_key` = 'Locale') LIMIT
1[0m
[4;35;1mConfiguration Load (1.0ms)[0m [0mSELECT * FROM
`configurations` WHERE (`configurations`.`config_key` =
'InstitutionType') LIMIT 1[0m
Expired fragment: views/News_latest_fragment (0.0ms)
[4;36;1mCACHE (0.0ms)[0m [0;1mSELECT * FROM `users` WHERE
(`users`.`id` = 1) AND (`users`.`is_deleted` = 0) [0m
Username : admin Role : Admin
[4;35;1mConfiguration Load (0.0ms)[0m [0mSELECT * FROM
`configurations` WHERE (`configurations`.`config_key` =
'StudentAttendanceType') LIMIT 1[0m
[4;36;1mConfiguration Load (0.0ms)[0m [0;1mSELECT * FROM
`configurations` WHERE (`configurations`.`config_key` =
'AvailableModules') [0m
[4;35;1mUser Load (0.0ms)[0m [0mSELECT * FROM `users` WHERE
(`users`.`id` = 1) [0m
[4;36;1mConfiguration Load (1.0ms)[0m [0;1mSELECT * FROM
`configurations` WHERE (`configurations`.`config_key` =
'FirstTimeLoginEnable') LIMIT 1[0m
[4;35;1mCACHE (0.0ms)[0m [0mSELECT * FROM `users` WHERE
(`users`.`id` = 1) AND (`users`.`is_deleted` = 0) [0m
[4;36;1mConfiguration Load (1.0ms)[0m [0;1mSELECT * FROM
`configurations` WHERE (`configurations`.`config_value` = 'HR') LIMIT
1[0m
[4;35;1mCACHE (0.0ms)[0m [0mSELECT * FROM `users` WHERE
(`users`.`id` = 1) AND (`users`.`is_deleted` = 0) [0m
[4;36;1mPrivilege Load (0.0ms)[0m [0;1mSELECT * FROM `privileges`
INNER JOIN `privileges_users` ON `privileges`.id =
`privileges_users`.privilege_id WHERE (`privileges_users`.user_id = 1 )
[0m
[4;35;1mConfiguration Load (1.0ms)[0m [0mSELECT * FROM
`configurations` WHERE (`configurations`.`config_key` =
'PrecisionCount') LIMIT 1[0m
[4;36;1mUser Load (1.0ms)[0m [0;1mSELECT * FROM `users` WHERE
(username LIKE BINARY('emp-0002')) AND (`users`.`is_deleted` = 0) LIMIT
1[0m
[4;35;1mEmployee Load (1.0ms)[0m [0mSELECT * FROM `employees` WHERE
(`employees`.user_id = 4) LIMIT 1[0m
[4;36;1mConfiguration Load (1.0ms)[0m [0;1mSELECT * FROM
`configurations` WHERE (`configurations`.`config_value` = 'Finance')
LIMIT 1[0m
[4;35;1mSmsSetting Columns (2.0ms)[0m [0mSHOW FIELDS FROM
`sms_settings`[0m
[4;36;1mSmsSetting Load (0.0ms)[0m [0;1mSELECT * FROM `sms_settings`
WHERE (`sms_settings`.`settings_key` = 'ApplicationEnabled') LIMIT 1[0m
[4;35;1mCACHE (0.0ms)[0m [0mSELECT * FROM `configurations` WHERE
(`configurations`.`config_value` = 'HR') LIMIT 1[0m
[4;36;1mPrivilegeTag Load (0.0ms)[0m [0;1mSELECT * FROM
`privilege_tags` ORDER BY priority ASC[0m
Rendering template within layouts/application
Rendering employee/edit_privilege
[4;35;1mEmployee Columns (3.0ms)[0m [0mSHOW FIELDS FROM
`employees`[0m
[4;36;1mCACHE (0.0ms)[0m [0;1mSELECT * FROM `users` WHERE
(`users`.`id` = 1) AND (`users`.`is_deleted` = 0) [0m
[4;35;1mCACHE (0.0ms)[0m [0mSELECT * FROM `privileges` INNER JOIN
`privileges_users` ON `privileges`.id = `privileges_users`.privilege_id
WHERE (`privileges_users`.user_id = 1 ) [0m
[4;36;1mCACHE (0.0ms)[0m [0;1mSELECT * FROM `users` WHERE
(`users`.`id` = 1) AND (`users`.`is_deleted` = 0) [0m
[4;35;1mCACHE (0.0ms)[0m [0mSELECT * FROM `privileges` INNER JOIN
`privileges_users` ON `privileges`.id = `privileges_users`.privilege_id
WHERE (`privileges_users`.user_id = 1 ) [0m
[4;36;1mCACHE (0.0ms)[0m [0;1mSELECT * FROM `users` WHERE
(`users`.`id` = 1) AND (`users`.`is_deleted` = 0) [0m
[4;35;1mCACHE (0.0ms)[0m [0mSELECT * FROM `privileges` INNER JOIN
`privileges_users` ON `privileges`.id = `privileges_users`.privilege_id
WHERE (`privileges_users`.user_id = 1 ) [0m
[4;36;1mPrivilegeTag Columns (1.0ms)[0m [0;1mSHOW FIELDS FROM
`privilege_tags`[0m
[4;35;1mPrivilege Load (0.0ms)[0m [0mSELECT * FROM `privileges`
WHERE (name<>'FinanceControl') AND (`privileges`.privilege_tag_id = 2)
ORDER BY priority ASC[0m
[4;36;1mPrivilege Columns (2.0ms)[0m [0;1mSHOW FIELDS FROM
`privileges`[0m

ActionView::TemplateError (You have a nil object when you didn't expect
it!
You might have expected an instance of ActiveRecord::Base.
The error occurred while evaluating nil.[]) on line #82 of
app/views/employee/edit_privilege.html.erb:
79: <table width="100%" align="center" cellspacing="1"
cellpadding="1" class="table_design">
80: <tr>
81: <% @privilege_tags.each_with_index do
|privilege_tag,ind| %>
82: <% all_privileges =
privilege_tag.privileges.all(:conditions=>"name<>'FinanceControl'",:order=>"priority
ASC").select{|p| p.applicable?} %>
83: <% if all_privileges.count > 0 %>
84: <% if ind==0 or ind==1 or ind==4 %>
85: <td>

app/models/privilege.rb:24:in `applicable?'
app/views/employee/edit_privilege.html.erb:82
app/views/employee/edit_privilege.html.erb:82:in `select'
app/views/employee/edit_privilege.html.erb:82
C:/Ruby187/lib/ruby/gems/1.8/gems/i18n-0.4.2/lib/i18n/backend/base.rb:42:in
`each_with_index'
app/views/employee/edit_privilege.html.erb:81:in `each'
app/views/employee/edit_privilege.html.erb:81:in `each_with_index'
app/views/employee/edit_privilege.html.erb:81
app/views/employee/edit_privilege.html.erb:71
app/controllers/application_controller.rb:361:in `render'

Rendered rescues/_trace (198.0ms)
Rendered rescues/_request_and_response (1.0ms)
Rendering rescues/layout (internal_server_error)



and my users table has the following record.

username: emp-0002
first_name: Adam
password: xxxxxxxx
etc.

can any one help me pls what this error means or what is it asking from
me.

--
Posted via http://www.ruby-forum.com/.

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-talk+unsubscribe@googlegroups.com.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/6b9981c138b038d6e301673097923f7f%40ruby-forum.com.
For more options, visit https://groups.google.com/d/optout.

No comments:

Post a Comment