Method: ActiveModel::Lint::Tests#test_to_param
- Defined in:
- lib/active_model/lint.rb
#test_to_param ⇒ Object
Passes if the object’s model responds to to_param and if calling this method returns nil when the object is not persisted. Fails otherwise.
to_param is used to represent the object’s key in URLs. Implementers can decide to either raise an exception or provide a default in case the record uses a composite primary key. There are no tests for this behavior in lint because it doesn’t make sense to force any of the possible implementation strategies on the implementer.
46 47 48 49 50 51 |
# File 'lib/active_model/lint.rb', line 46 def test_to_param assert_respond_to model, :to_param def_method(model, :to_key) { [1] } def_method(model, :persisted?) { false } assert model.to_param.nil?, "to_param should return nil when `persisted?` returns false" end |