Rails 4 - 从关联模型

时间:2016-01-22 15:43:54

标签: ruby-on-rails ruby

我正在学习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?

非常感谢:)

1 个答案:

答案 0 :(得分:2)

您只需要调用@deal.business_line.name,因为您已经关联了模型。

只是一个问题,你为什么要在节目动作中这样做? @business_line在哪里初始化了?