Rails应用程序的编程流程是什么?

时间:2014-12-06 21:33:24

标签: ruby-on-rails ruby twitter-bootstrap

我正在开发我的第一个Rails应用程序,到目前为止我很喜欢它。我正在使用SCSS在Bootstrap上构建我的网站。所以到现在为止,我还没有编写任何Ruby代码,我一直在处理我的观点并生成2个控制器。

我遇到的情况是控制器应该有多个视图。这是一个产品页面...一个动作(即"显示"动作)应该列出所有产品,但是当URL中存在ID时(即mysite.com/products/1)我希望使用该视图的特定信息显示不同的视图。

当然,到目前为止,我没有模型或数据库数据,没有任何迁移也没有,我只是在设计工作,后来我将在逻辑上工作。但是,我希望能够区分mysite.com/products和mysite / products / N的视图,这样我至少可以使用我的HTML / SCSS。

我怎样才能做到这一点?在我用视图设置所有内容之后,如何继续我的项目逻辑?

1 个答案:

答案 0 :(得分:-1)

在命令行:

$ rails new product_demo
$ cd product_demo
$ rails g controller Products
$ rails g model Product

修改config/routes

resources :products

命令行输入:

$ rake db:migrate

编辑`app / controllers / products_controller.rb:

def index
end

def show
end

创建app/views/products/index.html.erb

Index page (put HTML here)

创建app/views/products/show.html.erb

Detail page (put HTML here)

在以下位置查看产品索引:

http://localhost:3000/products/

在以下位置查看产品详情页面(show查看/操作):

http://localhost:3000/products/1

还没有数据,但是没关系,你可以在一般设计上工作。但是,如果您想处理(最终)数据的布局,您可能希望从脚手架开始,其好处是您可以立即开始输入数据:

rails g scaffold Products name:string

这种方法的缺点是您需要删除更多东西来实现您的设计目标,但是您将拥有一个有效的应用程序,并且可以将测试数据直接输入到(生成的)UI中。

现在,您可以在两个页面上设置样式,例如:mysite.com/products(app/views/products/index.html.erb)和mysite.com/products/N(app/views/products/show.html.erb)。