Основной вопрос по Ruby Rails - PullRequest
0 голосов
/ 28 апреля 2011

Предположим, у меня есть модель xyz.rb и модель abc.rb.Никакой связи между ними.Если вы хотите напечатать какой-либо атрибут из xyz в abc views / print / show.html.erb как ??

, я знаю, что это очень просто, но я ищу хорошее объяснение.

Ответы [ 5 ]

5 голосов
/ 28 апреля 2011

Вы можете получить доступ к любой модели из любого контроллера, представления или вспомогательного метода. Mvc означает, что модель, контроллеры и представления связаны, но нет ограничений на доступ между ними. Обычное действие - сохранить отчеты в переменной экземпляра в любом контроллере, а затем вывести их в виде:

#print_controller.rb

def show
  @reports = Report.find_by_some_attribute(...

#show.html.erb

<%- @reports.each do |report| -%>
  <%= report.created_at -%>
<%- end -%>

Я действительно думаю, что вам нужно найти лучший подход к обучению рельсам. Как вы говорите, это очень просто, и я бы порекомендовал вам купить книгу. Вы хорошо говорите по-английски или ваш родной язык?

0 голосов
/ 26 ноября 2014

Это очень простой, но я даю лучшее решение для этого

в контроллере ABC

def show
  @reports = Report.where(:attribute => value)
end

it will get the all records basic on that value

<h1>views/abc/show.html.erb</h1>
<% @reports.each do |report| %>
  <%= report.attribute_name %>
 <%end%>
0 голосов
/ 20 ноября 2013

Рассмотрим ваш пример, если у вас две модели User и Report. Вы можете получить доступ к Create_at отчета из контроллера пользователя, просмотра и т. Д. Вам нужно написать что-то вроде этого:

Report.find_by_created_at("2013-11-12 14:43:44.11824")

Вы можете использовать ruby ​​в направляющих для изучения рельсов. Также вы можете найти основные объяснения активной записи здесь

0 голосов
/ 28 апреля 2011

Конечно, вы можете.

Предполагая, что @x является экземпляром модели Xyz, вы можете распечатать любой атрибут объекта @x.

Если у вас нет объекта @x.Вы можете найти его и создать экземпляр @x в действии show контроллера abc.@x = Xyz.first например.

0 голосов
/ 28 апреля 2011

Что-то вроде:

XYZ.all.each do |xyz|
  some(xyz)
end

Подробности вы можете найти здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...