在Rails中,创建控制器以获取数据后的下一步是什么

时间:2012-12-09 08:08:35

标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-3.1 ruby-on-rails-3.2

在我的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格式从数据库查看数据的下一步是什么。

3 个答案:

答案 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

上显示ID = 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.