::我想查询我的数据库,将结果保存在变量中,并在该变量的视图中显示这些结果。我不知道如何显示或保存结果。
执行此操作的正确方法是什么?
以下是代码:
这是表格(第一页):
# submit: A controller | shoot: A method
<%= simple_form_for :computer , url:submit_shoot_path , :method => :get do |f| %>
<%= f.input :used_at, collection: ["Home" , "Work" , "Travel"] , wrapper_html: { class: 'col-xs-3'} %>
<%= f.input :used_for, collection: [ "Programming", "Gaming", "Blogging"], wrapper_html: { class: 'col-xs-3'} %>
<br/>
<%= f.input :cash, input_html: { max: 500 } , wrapper_html: { class: 'col-xs-3' } %>
<br/>
<%= f.button :submit, value: 'Submit' , :name => nil %>
<% end %>
这是我的模特:
# MODEL
class Computer < ActiveRecord::Base
has_one :name
has_one :used_at
has_one :used_for
has_one :cash
end
控制器:
class SubmitController < ApplicationController
def shoot
used_at = params[:where_at]
used_for = params[:used_at]
cash = params[:amount]
#I tried to store the variable.
#Is this correct? v
search = Computer.find(8)
render:shoot
end
end
查看: 我想列出受查询影响的所有行。(例如:查找*计算机,其中price =&#39; 400&#39;) 结果将是这样的:
名称:东芝(名称)|价格:1.00美元(现金)|家(used_at)|编程(used_for)。
此页面显示没有错误。它加载但如何加载查询结果? 结果(第二页):shoot.html.erb
**现在在视图中我想列出列表中的db查询结果(li)**
<html>
<head>Hello</head>
<body>
<table>
<ul>
<!-- Isn't there a search.each do |t| method that goes here. -->
</ul>
</table>
</body>
</html>
拜托,我问你,SOF rubyist帮助我解决这个问题。
注意:请不要向guides.rubyonrails.org推荐。
答案 0 :(得分:0)
在您的SubmitController.rb
中@search = Computer.find(8) ## @search is a instance variable now. You can use it in views. @Search contains a record from computer whose id is 8.
然后在View文件中
<%= @search.name %> ## i assume name is a column in computers method.
<%= @search.xyz %> ## xyz is again a column name and so on...
如果您在SubmitControoler.rb中写道
@search = Computer.all ## fetch all the records from computers tables.
然后它将获取Computer类的对象集合。您可以在下面进行迭代:
<% @search.each do |x| %>
<%= x.name %>
<%= x.xyz %>
......
<% end %>