我正在学习rails 4,我想知道如何在show动作中显示来自另一个模型的属性。
有关信息,交易属于business_line,business_line有很多交易。
以下是交易控制器的show动作。我想显示链接的business_line的名称(而不是存储在Deal表中的ID):
<div class = 'container'>
<h1> <%= @deal.name %> </h1>
<p> <%= @deal.bank_id %> </p>
<p> <%= business_line.name %> </p>
<%= link_to 'Home', root_path %>
<%= link_to 'Edit', edit_deal_path %>
<%= link_to 'Delete', deal_path(@deal), method: :delete, data: {confirm: 'Are you sure?'} %>
</div>
这是我的交易控制器:
class DealsController < ApplicationController
before_action :find_deal, only: [:show, :edit, :update, :destroy]
def show
@deal.business_line_id = @business_line.id
end
private
def deals_params
params.require(:deal).permit(:name, :bank_id, :business_line_id)
end
def find_deal
@deal = Deal.find(params[:id])
end
end
我必须将什么内容放入我的交易控制器才能在交易视图中调用business_line.name?
非常感谢:)
答案 0 :(得分:2)
您只需要调用@deal.business_line.name
,因为您已经关联了模型。
只是一个问题,你为什么要在节目动作中这样做? @business_line
在哪里初始化了?