# Can before\_filter using Proc and specify block?

**URL:** <https://www.ruby-forum.com/t/can-before-filter-using-proc-and-specify-block/127539>\
**Category:** Rails\
**Created:** [January 30, 2008, 5:37am UTC](https://www.ruby-forum.com/t/can-before-filter-using-proc-and-specify-block/127539 "2008-01-30T05:37:48Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![patrick](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/b2d939/32.png) [@patrick](https://www.ruby-forum.com/u/patrick)\
**Post date:** [January 30, 2008, 5:37am UTC](https://www.ruby-forum.com/t/can-before-filter-using-proc-and-specify-block/127539/1 "2008-01-30T05:37:48Z")

</div>

Hi,

I see from this post

[http://groups.google.com/group/rubyonrails-talk/browse\_thread/thread/97e333daab05b725/8252c90cb9c36f6d?lnk=gst&q=passing+parameter+before\_filter#8252c90cb9c36f6d](http://groups.google.com/group/rubyonrails-talk/browse_thread/thread/97e333daab05b725/8252c90cb9c36f6d?lnk=gst&q=passing+parameter+before_filter#8252c90cb9c36f6d)

it can specify the Proc in the before\_filter function, but when  
specify when action apply this filter, it raise an syntax error, such  
as rthe following code

before\_filter {|controller| c.send(:catalog\_access,  
[current\_user])}, :only=\>[:manage\_catalog]

Will raise an syntax error

app/controllers/catalogs\_controller.rb:7: syntax error, unexpected  
‘,’, expecting kEND  
before\_filter {|controller| c.send(:catalog\_access,  
[current\_user])}, :only=\>[:manage\_catalog]

Is before\_filter using Proc can specify which action to filtering  
with ?

Thank,  
Patrick

---

<div class="post-metadata">

**Author:** ![patrick](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/b2d939/32.png) [@patrick](https://www.ruby-forum.com/u/patrick)\
**Post date:** [January 30, 2008, 8:54am UTC](https://www.ruby-forum.com/t/can-before-filter-using-proc-and-specify-block/127539/2 "2008-01-30T08:54:40Z")

</div>

Patrick wrote:

> Hi,
> 
> I see from this post
> 
> [http://groups.google.com/group/rubyonrails-talk/browse\_thread/thread/97e333daab05b725/8252c90cb9c36f6d?lnk=gst&q=passing+parameter+before\_filter#8252c90cb9c36f6d](http://groups.google.com/group/rubyonrails-talk/browse_thread/thread/97e333daab05b725/8252c90cb9c36f6d?lnk=gst&q=passing+parameter+before_filter#8252c90cb9c36f6d)
> 
> it can specify the Proc in the before\_filter function, but when  
> specify when action apply this filter, it raise an syntax error, such  
> as rthe following code
> 
> before\_filter {|controller| c.send(:catalog\_access,  
> [current\_user])}, :only=\>[:manage\_catalog]
> 
> Will raise an syntax error
> 
> app/controllers/catalogs\_controller.rb:7: syntax error, unexpected  
> ‘,’, expecting kEND  
> before\_filter {|controller| c.send(:catalog\_access,  
> [current\_user])}, :only=\>[:manage\_catalog]
> 
> Is before\_filter using Proc can specify which action to filtering  
> with ?
> 
> Thank,  
> Patrick

This would be works fine.  
before\_filter :only=\>[:manage\_catalog] do|controller|  
c.send(:catalog\_access,[current\_user])  
end
