我有一个本地对象数组,如下所示:
<select class="marital-status" [(ngModel)]="selectedStatus" (ngModelChange)="CheckStatus($event)">
<option *ngFor="let status of maritalStatusOptions">{{status.option}}</option>
</select>
我从服务回复中收到用户的婚姻状况为&#34; M&#34;,这意味着他已婚。
我如何映射这个&#34; M&#34;在我的本地对象数组中&#34;已婚/国内合作伙伴&#34; ?
我的HTML如下:
# app/controllers/configuration_controller.rb
def update
@a = ModelA.find(params[:model_a][:id])
@b = ModelB.find(params[:model_b][:id])
@c = ModelC.find(params[:model_c][:id])
@d = ModelD.find(params[:model_d][:id])
@a.assign_attributes(model_a_params)
@b.assign_attributes(model_b_params)
@c.assign_attributes(model_c_params)
@d.assign_attributes(model_d_params)
respond_to do |format|
if @a.save && @b.save && @c.save && @d.save
format.html { redirect_to :back, notice: "" }
format.json { head :no_content }
else
format.json { render json: [@a.errors, @b.errors, @c.errors, @d.errors], status: :unprocessable_entity }
format.html { render :show }
end
end
private
def model_a_params
params.require(:model_a).permit(:id) # and other permitted params
end
#... same for the other 3 models
答案 0 :(得分:1)
你的问题并不完全清楚你想要完成什么。
尝试:您可以创建一个允许从一个值到另一个值的对象
maritalStatusMap = {
A: "Marital Status",
B: "Divorced",
M: "Married/Domestic Partner",
C: "Seperated",
D: "MI",
D: "Single",
E: "Widowed"
};
然后通过将status.option
传递给'M'
来获取值(我假设status.option
为martialStatusMap[...]
),在这种情况下会返回"Married/Domestic Partner"
<select class="marital-status" [(ngModel)]="selectedStatus" (ngModelChange)="CheckStatus($event)">
<option *ngFor="let status of maritalStatusOptions">{{maritalStatusMap[status.option]}}</option>
</select>