public
Description: Find_by_param is a nice and easy way to handle permalinks and dealing with searching for to_param values
Homepage:
Clone URL: git://github.com/bumi/find_by_param.git
Click here to lend your support to: find_by_param and make a donation at www.pledgie.com !
find_by_param / README
100644 49 lines (28 sloc) 1.543 kb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
FindByParam
===========
 
Find_by_param helps you dealing with permalinks and finding objects by our permalink value
 
class Post < ActiveRecord:Base
 make_permalink :with => :title
end
 
now you can do Post.find_by_param(...)
 
If you have a permalink-column find_by_param saves the permalink there and uses that otherwise it just uses the provided attribute.
 
 
Example
===========
 
Post.create(:title => "hey ho let's go!").to_param #=> "hey-ho-lets-go" (to_param is the method Rails calls to create the URL values)
 
Post.find_by_param("hey-ho-lets-go") #=> <Post>
 
Post.find_by_param("is-not-there") #=> nil
Post.find_by_param!("is-not-there") #=> raises ActiveRecord::RecordNotFound
 
examples:
 
make_permalink :with => :login
make_permalink :with => :title, :prepend_id=>true
 
 
options for make_permalink:
 
:with: (required) The attribute that should be used as permalink
:field: The name of your permalink column. make_permalink first checks if there is a column.
:prepend_id: [true|false] Do you want to prepend the ID to the permalink? for URLs like: posts/123-my-post-title - find_by_param uses the ID column to search.
:escape: [true|false] Do you want to escape the permalink value? (strip chars like öä?&?) - actually you must do that
 
 
 
 
Issues
=======
 
* Alex Sharp (http://github.com/ajsharp) pointed to an issue with STI. Better call make_permalink in every child class and not only in the parent class..
* write nice docs
* write nicer tests
 
Copyright (c) 2007 [Michael Bumann - Railslove.com], released under the MIT license