在我的Rails应用程序中,我创建了一个控制器来从数据库中获取数据,该控制器还包括模型中的参数,如下所示。
问题是视图文件夹中没有html页面..我需要运行控制器???我想输出i json格式..如何创建html页面以及在哪里可以看到我的json数据格式......
# shoppingDemo.rb (controller)
class ShoppingDemo < ApplicationController
def index
@lists=products.all;
respond_to do |format|
format.html
format.json { render json: @lists}
end
end
def show
@products = products.find(params[:prod_id])
respond_to do |format|
format.html # show.html.erb
format.json { render json: @products }
end
end
end
# products(model)
class products < Activerecord::Base
attr_accessible :model_name, :brand_name, :price, :discount, :qty_available
end
创建html页面或以json格式从数据库查看数据的下一步是什么。
答案 0 :(得分:1)
你应该解决一些问题:
1)在Model
中 class Product
2)在控制器
中 @lists = Product.all
@products = Product.find(params[:id])
3)您应该在config/routes.rb
resources :products
它将为索引,显示,新建,创建,更新,销毁操作创建路径。阅读更多here。
之后,您可以通过http://localhost:3000/products
上的http请求访问您的产品列表,并在http://localhost:3000/products/1
答案 1 :(得分:1)
手动完成。为此,只需在views目录中创建shopping_demo
文件夹即可。然后在shopping_demo
目录中创建 index.html.erb 和 show.html.erb 文件。
现在,如果你想访问json数据,只需附加.json格式说明符,如http://localhost:3000/path_to_resource/1.json
。确保将path_to_resource替换为您尝试访问的资源的名称。
首先将 shoppingDemo.rb 文件重命名为 shopping_demo_controller.rb 。然后在 shopping_demo_controller.rb 文件中将类名更改为 ShoppingDemoController 。最后将resources :shopping_demo
放在{。{1}}下方的routes.rb文件中。
答案 2 :(得分:1)
Rails是一个MVC框架。 MVC代表模型视图控制器。
你说的html存在于Views中。
对于ShoppingDemo控制器的索引操作,请创建此文件
app/views/shoppingdemo/index.html.erb
并在里面写下相应的代码。 例如
<% @lists.each do |list| %>
<%= list %>
<% end %>
你也有错字。当你打电话给模特时,你应该用第一个字母大写。
例如 而不是
@lists = products.all #WRONG
DO
@lists = Product.all #Plural the first letter and singular for the model.