2014-11-27 6 views
0

저는 현재 Cloud9의 IDE를 사용하여 Hartl의 Ruby on Rails 튜토리얼 (2 장)과 함께 작업하고 있습니다. 어제의 Arel 6.0.0 릴리스로 인해 발생한 Arel::Nodes::BindParam.new의 오류가 발생합니다. 문제는 BindParam이 더 이상 매개 변수를 받아들이지 않고 ActiveRecord에 의해 전달되는 것입니다. 이전에 rake db:migrate을 사용하는 동안이 문제를 해결하기 위해 내 Gemfile에 Arel의 다른 버전을 설정했습니다 as explained by aaron-k here. 그러나이 변화는 튜토리얼의 스캐 폴딩 사용자 리소스에서 '새로운 사용자'를 만드는 동안 같은 오류가 점점 나를 방해하지 않은 : 나는 users_controller.rb에 Arel에 대한 참조를 볼Hartl Rails Tutorial (2 장)에서 Arel 비 호환성 문제를 어떻게 해결합니까?

ArgumentError in UsersController#create 
wrong number of arguments (1 for 0) 

Extracted source (around line #271): 
269 # NOTE: The column param is currently being used by the sqlserver-adapter 
270 def substitute_at(column, index) 
271  Arel::Nodes::BindParam.new '?' 
272 end 

    # REFERENTIAL INTEGRITY ==================================== 

Rails.root: /home/ubuntu/workspace/toy_app 

app/controllers/users_controller.rb:30:in `block in create' 
app/controllers/users_controller.rb:29:in `create' 

을하고, 그래서 Arel의 이전 버전이 필요한 곳이 궁금합니다. 이것이 rails server을 사용하여 Cloud9를 통해 호스팅 할 때 문제가 될 수 있습니까?

답변

1

Arel 보석에 대한 업데이트가 Rails 4 베타에서 마이그레이션을 위반했습니다. 자세한 내용은 here을 참조하십시오. 자습서는 이미 수정 사항으로 업데이트되었습니다.