2010-11-27 4 views
0
ruby-1.9.2-p0 > Subscription 
=> Subscription(id: integer, email: string, tuan: boolean, send: boolean, created_at: datetime, updated_at: datetime) 
ruby-1.9.2-p0 > Subscription.create("email"=>"dd") 
ArgumentError: wrong number of arguments (2 for 0) 
    from /home/mlzboy/.rvm/gems/ruby-1.9.2-p0/gems/activerecord-3.0.1/lib/active_record/attribute_methods/read.rb:69:in `send' 
    from /home/mlzboy/.rvm/gems/ruby-1.9.2-p0/gems/activerecord-3.0.1/lib/active_record/base.rb:1548:in `block in attributes=' 
    from /home/mlzboy/.rvm/gems/ruby-1.9.2-p0/gems/activerecord-3.0.1/lib/active_record/base.rb:1544:in `each' 
    from /home/mlzboy/.rvm/gems/ruby-1.9.2-p0/gems/activerecord-3.0.1/lib/active_record/base.rb:1544:in `attributes=' 
    from /home/mlzboy/.rvm/gems/ruby-1.9.2-p0/gems/activerecord-3.0.1/lib/active_record/base.rb:1411:in `initialize' 

위 코드를 사용했습니다. db에 레코드를 저장하기 위해 create 메소드를 사용하고 싶습니다. 그러나 에러가 발생합니다. 나는 레일스 3에 처음이다. 내 구문을 확인했지만 오류를 찾지 못했습니다. 내가 놓친 게 있니?Rails3 메소드 작성 문제

답변

1

나는 혼자서 알아 냈습니다. 구독 모델에서는 send 열을 사용했습니다.

Send은 (는) 키워드가 될 수 있으므로 오류가 발생했습니다. 예를 들어 다른 단어로 변경 한 후 '구독', 그럼 잘 작동합니다. http://wiki.rubyonrails.org/rails/pages/reservedwords :

+0

가 여기 시작하는 목록입니다

은 (너무 "유형"라는 이름의 컬럼을 사용했을 때이 문제를 encounted있다). 다른 사람들을위한 Google의 "예약어"- 내가 아는 한 "공식적인"단어가 없습니다. – zetetic

+0

참. 예약 키워드 목록 - http://oldwiki.rubyonrails.org/rails/pages/ReservedWords –

0

구독 모델에서 초기화를 무시 했습니까?