咨询不要工作我想要的

时间:2016-04-08 18:17:13

标签: ruby-on-rails ruby ruby-on-rails-4 rails-4-2-1

我创建了一个refinanciamento,我的节目不正确。

show.html.erb

<p>
  <strong>Nome:</strong>
  <%= @funcionario.pessoa.nome %>
</p>

<p>
  <strong>Matrícula:</strong>
  <%= @funcionario.matricula %>
</p>

当我把@ funcionario.first.pessoa.nome,它“工作”但是,永远返回第一个,我不想这样,当然。

我的控制器:

  def show
    @funcionario = Funcionario.pesquisa_cpf(params[:pesquisa_func_cpf]).first
    @refinanciamento = Refinanciamento.find(params[:id])
  end

例如,当我注册一个refinanciamento时,我在网站上显示的网址为:/ refinancimento / 100,此refinanciamento的值为:id:100,funcionario_id:2 我需要一个显示具有此refinanciamento的funcionario的地方。我如何建立这个咨询?

我的模特是:

class Refinanciamento < ActiveRecord::Base
  belongs_to :funcionario
(...)

class Funcionario < ActiveRecord::Base
  has_many :refinanciamentos
(...)

我只想要显示创建了refinanciamento的funcionario的show nome和matricula。谢谢!

1 个答案:

答案 0 :(得分:1)

首先,Rails是一个自以为是的框架,并假设一些模式来促进开发人员的生活,比如用英语实现一切,从类名到属性。所以你用你的母语失去了太多的编程(你可以随时翻译所有内容来翻译文本和内容,代码应该是英文的)。

其次,在问题正确的情况下,refinanciamentofuncionario之间存在关联。如果有refinanciamento belongs_tofuncionario,当您拥有refinanciamento个对象时,可以使用@refinanciamento.funcionario并获取所有数据,例如nomematricula

def show
  @refinanciamento = Refinanciamento.find(params[:id])
  # Here you can access funcionario's properties like
  # @refinanciamento.funcionario.pessoa.nome
  # @refinanciamento.funcionario.matricula
  # etc...
end