Ruby on rails 使用rails的sqlite中属性和类型之间的额外空间
我在应用程序中使用rails创建sqlite表,我尝试了一个教程中的示例,键入了以下命令:Ruby on rails 使用rails的sqlite中属性和类型之间的额外空间,ruby-on-rails,sqlite,syntax,scaffold,Ruby On Rails,Sqlite,Syntax,Scaffold,我在应用程序中使用rails创建sqlite表,我尝试了一个教程中的示例,键入了以下命令: rails generate scaffold Product \ title:string description:text image_url:string price:decimal 但是,当我运行时,它工作并生成了一个表 rake db:migrate 出现了一些问题: SyntaxError in ProductsController#index products_controll
rails generate scaffold Product \
title:string description:text image_url:string price:decimal
但是,当我运行时,它工作并生成了一个表
rake db:migrate
出现了一些问题:
SyntaxError in ProductsController#index
products_controller.rb:72: syntax error, unexpected ':', expecting ')' ...rams.require(:product).permit(: title, :description, :image_... ... ^
所以我查看了一下表格,发现标题和字符串之间有一个额外的空格,
是这样的:
title : string
description :text
image_url :string
price :decimal
然后我改变了它和相应的控制器。
控制器在我更改之前是这样的,这里还有一个额外的空间:
def product_params
params.require(:product).permit(: title, :description, :image_url, :price)
end
在那之后,每当我试图创建一个表时,同样的问题一次又一次地出现。
第一个属性总是有一个额外的空间,而下面的属性没有。
有人知道问题出在哪里吗?
非常感谢!:) 可能有点晚,但是删除
\
,使rails生成器看起来像:
rails generate scaffold Product title:string description:text image_url:string price:decimal
\
用于表示多行命令中一行的结尾,使用该命令时,按enter键继续在下一行写入。(^
在windows上)
如果已经创建了数据库,则可以使用以下方法重建它:
rails generate scaffold Product title:string description:text image_url:string price:decimal --force
如果你像我一样,在Rails 4的敏捷Web开发中发现了这段代码;上一段解释了\
希望那个小小的路障在几个月前并没有把你们从铁轨上推开