我正在开发我的第一个Rails应用程序,到目前为止我很喜欢它。我正在使用SCSS在Bootstrap上构建我的网站。所以到现在为止,我还没有编写任何Ruby代码,我一直在处理我的观点并生成2个控制器。
我遇到的情况是控制器应该有多个视图。这是一个产品页面...一个动作(即"显示"动作)应该列出所有产品,但是当URL中存在ID时(即mysite.com/products/1)我希望使用该视图的特定信息显示不同的视图。
当然,到目前为止,我没有模型或数据库数据,没有任何迁移也没有,我只是在设计工作,后来我将在逻辑上工作。但是,我希望能够区分mysite.com/products和mysite / products / N的视图,这样我至少可以使用我的HTML / SCSS。
我怎样才能做到这一点?在我用视图设置所有内容之后,如何继续我的项目逻辑?
答案 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
)。