Ruby 实现管理产品 [Rails]
我们的电子商务应用程序的第一个要求是能够管理潜在客户可以购买。为此,我们需要能够添加、编辑和删除产品。
这是一组常见的任务,Rails框架包括一个脚手架生成器.
运行时,提供所需的所有代码(数据库迁移、模型、控制器和视图)文件。
我们需要存储一些关于产品的信息;现在,我们只存储一个名称,描述和成本。为此,打开一个终端并切换到新创建的然后运行以下命令:
bundle exec rails g scaffold Product name:string description:text cost:float
创建一个为类名建模类和数据库迁移,然后是使用类型创建表时应存储的数据库列,例如字符串、整数、文本、日期、浮点等。**
bundle exec rails routes
以下是resources:products代码实际创建的所有路径:
● 第一列表示可以在Rails中用于访问特定页面(即创建链接)。
● 第二列显示了此路径将使用的HTTP谓词,即当您希望在单击链接时访问页面内容。
● 第三列显示了浏览器中显示的实际URL访问页面。
● 第四列显示了Rails控制器名称和将要使用的控制器方法访问此路径时执行。其格式将始终为<controller名称>#。我们想让products index页面成为我们访问的根页面时看到的页面.我们的应用程序(即当我们进入主页时)。目前,我们需要去浏览器中的“/products”来执行此操作。
最终routes.rb 应该是这样的:
Rails.application.routes.draw do
resources :products
mount EpiCas::Engine, at: "/"
match "/403", to: "errors#error_403", via: :all
match "/404", to: "errors#error_404", via: :all
match "/422", to: "errors#error_422", via: :all
match "/500", to: "errors#error_500", via: :all
get :ie_warning, to: 'errors#ie_warning'
root to: 'products#index'
# For details on the DSL available within this file, see https://guides.rubyonrails.org/routing.html
end
启动应用程序(运行bundle exec rails),然后转到http://localhost:3000在网上浏览以查看您所做的操作。