我仍然在学习Ruby,并且仍然从我的手册中复制粘贴但我遇到了一个问题,我不知道如何解释,我做错了什么所以这里是:
我想用这个创建一个新对象:
second_page = Page.new ( :name=>"Second page", :position=>1, :permalink => "second" )
我犯了个错误:
Loading development environment (Rails 3.0.10)
ruby-1.9.2-p290 :001 > second_page = Page.new ( :name=>"Second page", :position=>1, :permalink => "second" )
SyntaxError: (irb):1: syntax error, unexpected tASSOC, expecting ')'
...econd_page = Page.new ( :name=>"Second page", :position=>1, ...
... ^
(irb):1: syntax error, unexpected ',', expecting $end
...age.new ( :name=>"Second page", :position=>1, :permalink => ...
... ^
from /usr/local/rvm/gems/ruby-1.9.2-p290/gems/railties-3.0.10/lib/rails/commands/console.rb:44:in `start'
from /usr/local/rvm/gems/ruby-1.9.2-p290/gems/railties-3.0.10/lib/rails/commands/console.rb:8:in `start'
from /usr/local/rvm/gems/ruby-1.9.2-p290/gems/railties-3.0.10/lib/rails/commands.rb:23:in `<top (required)>'
from script/rails:6:in `require'
from script/rails:6:in `<main>'
但是,如果我这样做:
ruby-1.9.2-p290 :002 > second_page = Page.new :name=>"Second page", :position=>1, :permalink => "second"
=> #<Page id: nil, subject_id: nil, name: "Second page", permalink: "second", position: 1, visible: false, created_at: nil, updated_at: nil>
这似乎管用。
我从手册上得到了一个例子,我想知道发生了什么事?
如果没有()我不知道如何处理这个对象?
谢谢你
最佳答案
如果选择放置圆括号,Ruby不允许在圆括号前放置空格这应该有效:
second_page = Page.new( :name=>"Second page", :position=>1, :permalink => "second" )