while
trying to follow the examples in Programming Phoenix (book) release P1.0,
everything is working fine until Page 167 when instructed to add the lines:
defimpl Phoenix.Param, for: Rumbl.Video do
def to_param(%{slug: slug, id: id}) do
"#{id}-#{slug}"
end
end
to: rumbl/web/models/video.ex
Before I add the lines, the tests pass (as expected):
https://travis-ci.org/dwyl/learn-phoenix-framework/builds/207894163#L384
But once the defimpl
is added the tests fail:
https://travis-ci.org/dwyl/learn-phoenix-framework/builds/207901757#L349
The error message for two of the failing tests is:
** (FunctionClauseError) no function clause matching in Phoenix.Param.Rumbl.Video.to_param/1
Stack trace: https://travis-ci.org/dwyl/learn-phoenix-framework/builds/207901757#L349
Code Snapshot when these 5 lines were added:
https://github.com/dwyl/learn-phoenix-framework/pull/42/commits/db72acbe83b184cd6ce3fe342ee51c3e39eb5de8
Any help with understanding this would be much appreciated!
Note: Iâve tried googling (for a while) âŠ
Iâve read through dozens of similar-looking questions on SO & https://elixirforum.com âŠ
but none were helpful. it appears Iâm the only one seeing this error!
Posting a StackOverflow question is my âlast resortâ before giving up programming!![]()
On the âProgramming Phoenixâ bookâs errata page: https://pragprog.com/titles/phoenix/errata there is another person reporting an issue with the same code but their error is different âŠ
Also posted on StackOverflow just in case: http://stackoverflow.com/questions/42609234/defimpl-phoenix-param-to-override-to-param-causes-functionclauseerror-no-funct