Консультируй не работай как я хочу
Я создал 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, мой URL-адрес для показа: /refinancimento/100, этот refinanciamento имеет значения: id: 100, funcionario_id: 2 Мне нужно, где показано funcionario с этим refinanciamento. Как мне построить эту консультацию?
Мои модели:
class Refinanciamento < ActiveRecord::Base
belongs_to :funcionario
(...)
class Funcionario < ActiveRecord::Base
has_many :refinanciamentos
(...)
Я просто хочу показать номе и учебные планы funcionario, которые создали refinanciamento. Спасибо!
1 ответ
Во-первых, Rails является самоуверенной средой и предполагает несколько шаблонов, облегчающих жизнь разработчика, например, реализует все на английском, от имен классов до атрибутов. Таким образом, вы теряете слишком много программирования на своем родном языке (вы всегда можете перевести все тексты и прочее, код должен быть на английском).
Во-вторых, и право на проблему, у вас есть связь между refinanciamento
а также funcionario
, Если refinanciamento
belongs_to
funcionario
когда у вас есть refinanciamento
объект, вы можете использовать @refinanciamento.funcionario
и получить все свои данные, как nome
а также matricula
,
def show
@refinanciamento = Refinanciamento.find(params[:id])
# Here you can access funcionario's properties like
# @refinanciamento.funcionario.pessoa.nome
# @refinanciamento.funcionario.matricula
# etc...
end