Rails tutorial; CRD working, U failing

12 views
Skip to first unread message

rick....@gmail.com

unread,
Aug 21, 2013, 2:01:48 PM8/21/13
to rubyonra...@googlegroups.com
Using http://guides.rubyonrails.org/getting_started.html as a guide.  Create, Read, Delete all work.  Update fails:

NoMethodError in WordsController#update

private method `update' called for #<Word:0xae98360>

(I chose to make a list of words rather than of posts.)


The Request parameters:
{"utf8"=>"✓",
 "_method"=>"put",
 "authenticity_token"=>"HizJaASbs53QXfgRZk8SbZ+6OcDigR7LtDtpEGHXwMY=",
 "word"=>{"word"=>"feline",
 "definition"=>"Like a cat; stealthy"},
 "commit"=>"Update Word",
 "id"=>"3"}
The "update" method from the controller:

class WordsController < ApplicationController
...
  def update
    @word = Word.find(params[:id])

    if @word.update(params[:definition])
      redirect_to @word
    else
      render 'edit'
    end
  end

rake routes:
...
      PUT    /words/:id(.:format)                        words#update
...

Context information:
rails -v
Rails 3.2.2

ruby -v
ruby 1.9.3p125 (2012-02-16 revision 34643) [i686-linux]

In case relevant:  CentOS release 5.5 (Final)


I'm sure this is a simple thing and may have to do with a different version of Rails.  However, I've not had success pursuing that line.

Does anyone have a good idea why I'd be getting the error on the update method?

Thanks!

Colin Law

unread,
Aug 22, 2013, 5:36:07 AM8/22/13
to rubyonra...@googlegroups.com
On 21 August 2013 19:01, <rick....@gmail.com> wrote:
> Using http://guides.rubyonrails.org/getting_started.html as a guide.
> Create, Read, Delete all work. Update fails:
>
> NoMethodError in WordsController#update
> ...
> class WordsController < ApplicationController
> ...
> def update
> @word = Word.find(params[:id])
>
> if @word.update(params[:definition])

That should be @word.update_attributes( ..)

Colin
Reply all
Reply to author
Forward
0 new messages