我仍在学习 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" )
关于Ruby on Rails 3,创建新对象时出现语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7096905/