rails <ul> 视图中有数组
rails <ul> with an array in the view
我刚开始 rails,仍在学习基础知识和进行试验
在我看来,有一个包含公司名称的数组;我正在使用 erb 来显示带有 <ul>
的项目。
<% companies = ["a", "b", "c"] %>
<ul class="list-group">
<% companies.each do |item| %>
<li class="list-group-item"><strong><%= item %></strong></li>
<% end %>
</ul>
到目前为止,该页面正在执行我想要的操作(显示公司名称)。我想知道 rails 的方法是什么,因为 companies 数组有点长。有没有更好的方法来处理数组的信息,而不会使视图页面混乱?非常感谢。
您会想要 "paginate" 您的数据。 IE。你 select 一个尺寸(比如说 25 件商品),那么你只能在 "page" 上显示那么多商品。页面顶部(and/or 底部)有一个导航栏,可让您更改页面。
如果您在数据库中有数据,那么分页 gems 只需几行代码即可完成此操作。一个流行的是 will_paginate https://github.com/mislav/will_paginate。
如果您只想在 UI 方面进行更多实验,您可以使用 jquery 分页插件:例如 http://esimakin.github.io/twbs-pagination/。
$('.list-group').twbsPagination({
totalPages: 35,
visiblePages: 7,
onPageClick: function (event, page) {
$('#page-content').text('Page ' + page);
}
});
创建一个名为 Company
的模型:
#app/models/company.rb
class Company < ActiveRecord::Base
end
您还需要相应的数据库值:
$ rails g migration CreateCompany
#db/migrate/create_company.rb
class CreateCompany < ActiveRecord::Migration
def change
create_table :companies do |t|
t.string :name
t.timestamps
end
end
end
$ rake db:migrate
--
这将允许您存储 Company
条记录,具有相应的属性(name
是本例中突出显示的那个):
#config/routes.rb
resources :companies #-> url.com/companies
#app/controllers/companies_controller.rb
class CompaniesController < ApplicationController
def index
@companies = Company.all
end
end
#app/views/companies/index.html.erb
<ul class="list-group">
<% @company.each do |company| %>
<%= company.name %>
<% end %>
</ul>
您可以使用 rails console
:
创建一些测试 Company
值
$ rails c
$ names = %w(test1 test2 test3)
$ names.each do |name|
$ - Company.create name: name
$ end
我刚开始 rails,仍在学习基础知识和进行试验
在我看来,有一个包含公司名称的数组;我正在使用 erb 来显示带有 <ul>
的项目。
<% companies = ["a", "b", "c"] %>
<ul class="list-group">
<% companies.each do |item| %>
<li class="list-group-item"><strong><%= item %></strong></li>
<% end %>
</ul>
到目前为止,该页面正在执行我想要的操作(显示公司名称)。我想知道 rails 的方法是什么,因为 companies 数组有点长。有没有更好的方法来处理数组的信息,而不会使视图页面混乱?非常感谢。
您会想要 "paginate" 您的数据。 IE。你 select 一个尺寸(比如说 25 件商品),那么你只能在 "page" 上显示那么多商品。页面顶部(and/or 底部)有一个导航栏,可让您更改页面。
如果您在数据库中有数据,那么分页 gems 只需几行代码即可完成此操作。一个流行的是 will_paginate https://github.com/mislav/will_paginate。
如果您只想在 UI 方面进行更多实验,您可以使用 jquery 分页插件:例如 http://esimakin.github.io/twbs-pagination/。
$('.list-group').twbsPagination({
totalPages: 35,
visiblePages: 7,
onPageClick: function (event, page) {
$('#page-content').text('Page ' + page);
}
});
创建一个名为 Company
的模型:
#app/models/company.rb
class Company < ActiveRecord::Base
end
您还需要相应的数据库值:
$ rails g migration CreateCompany
#db/migrate/create_company.rb
class CreateCompany < ActiveRecord::Migration
def change
create_table :companies do |t|
t.string :name
t.timestamps
end
end
end
$ rake db:migrate
--
这将允许您存储 Company
条记录,具有相应的属性(name
是本例中突出显示的那个):
#config/routes.rb
resources :companies #-> url.com/companies
#app/controllers/companies_controller.rb
class CompaniesController < ApplicationController
def index
@companies = Company.all
end
end
#app/views/companies/index.html.erb
<ul class="list-group">
<% @company.each do |company| %>
<%= company.name %>
<% end %>
</ul>
您可以使用 rails console
:
Company
值
$ rails c
$ names = %w(test1 test2 test3)
$ names.each do |name|
$ - Company.create name: name
$ end