尝试学习rails,构建非常简单的应用程序。
转到
Array.map
我获得了一位客户的订单清单。为客户存储了一些属性,包括名字和名字。
我尝试使用文本“列出John的订单”创建标题:
// extracts the data entries of each item in the series
var data = series.map(function(item){ return item["data"]; });
function sum(point) {
return point[0] + point[1];
// in case point is of arbitrary dimension use Array.reduce:
// return point.reduce(function(prev, cur){ return prev + cur; }, 0);
}
var sums = data.map(function(arr){
return arr.map(function(point){
return sum(point);
});
});
// sums now contains an array of array of sums
// e.g. [[30600,60800,101100]]
结果是:
<%= link_to 'Show Orders', orders_path %>)
我做错了什么?
UPD:
嗯,客户和订单实际上是功能和资产的“昵称”(关系是相同的),以便于理解。抱歉令人困惑。
所以,资产控制器显示方法:
<h1>Listing Orders for <%= @customer.try(:name) %></h1>
特征模型:
Listing Orders for
资产模型:
class AssetsController < ApplicationController
before_action :set_asset, only: [:show, :edit, :update, :destroy]
def show
end
private
def set_asset
@asset = Asset.find(params[:id])
end
答案 0 :(得分:0)
try返回nil而不是引发异常。因此,customer.name为nil。我相信它不会为所有客户提供。删除尝试并且代码将引发异常作为名称是零
答案 1 :(得分:0)
好的,终于管理好了。有点不同的方法 - 我现在在功能页面上显示资产。
class FeaturesController < ApplicationControll
def show
@assets = Asset.where(feature_id: @feature.id)
end
并在features / show.html.erb
中<h2>Assets</h2>
<%= render @feature.assets %>
对我来说似乎总是神奇,但仍然可以像需要一样工作。
现在已关闭。