我有一个基本应用程序,它由一个只包含一个方法的控制器组成。该方法连接到API,该API返回多个哈希值(在数组中)。经过一些操作后,新的哈希值被写入不同的数组。视图迭代新数组并构建一个表以显示每个哈希的内容。
控制器:
class VlanManagerController < ApplicationController
require 'fog'
require 'ipaddress'
def connect
@vlans = Array.new
connection = Fog::Compute.new(
provider: 'Ecloud',
ecloud_access_key: '#*#*#*#*#*#*#',
ecloud_private_key: '*#*#*#*#*#*#*',
ecloud_version: '2014-03-01'
)
networks = connection.get_organization("/cloudapi/ecloud/networks/environments/######").body
networks[:Network].each do |hash|
ip = IPAddress(hash[:name])
netmask = ip.netmask
hosts = ip.hosts.map {|host| host.address }
gateway = hosts[0]
@vlans << {vlan: hash[:Description], network: hash[:name], netmask: netmask, gateway: gateway}
end
end
end
查看:
<h1>VLAN Manager v0.01</h1>
<table>
<tr>
<th>VLAN</th>
<th>Network</th>
<th>Netmask</th>
<th>Gateway</th>
</th>
<tr>
<% @vlans.each do |hash| %>
<tr>
<td><%= hash[:vlan] %></td>
<td><%= hash[:network] %></td>
<td><%= hash[:netmask] %></td>
<td><%= hash[:gateway] %></td>
</tr>
<% end %>
</table>
我现在想要添加一个模型,该模型将包含一个表,所有这些哈希值都将被写入,而不是作为HTML表格写入浏览器。
如果我创建了一个模型,那么所有必要的基础设施都可以用它来创建,还是我必须做的不仅仅是运行rails generate model ...
?开始一个新的rails应用程序并生成脚手架会更有意义吗?
答案 0 :(得分:0)
您可以创建具有所需名称的任何模型,并根据需要创建列。我认为最好的方法是控制器名称应为VlanManagers
。
前:
rails g model VlanManager name:string
添加记录
VlanManager.create(:name => "prasad")
检索所有记录
VlanManager.all