假设我有模型xyz.rb和模型abc.rb.他们之间没有关系。如果想在abc views / print / show.html.erb中打印xyz的任何属性怎么做?
我知道非常基本但寻找好的解释。
答案 0 :(得分:5)
您可以从任何控制器,视图或帮助方法访问任何模型。 Mvc意味着模型,控制器和视图是相关的,但它们之间的访问没有限制。通常要做的是将报告存储到任何控制器中的实例变量,然后在视图中输出:
#print_controller.rb
def show
@reports = Report.find_by_some_attribute(...
#show.html.erb
<%- @reports.each do |report| -%>
<%= report.created_at -%>
<%- end -%>
我真的认为你需要找到更好的方法来学习rails。这是非常基本的,就像你说的,我建议你买一本书。你说英语好吗,或者你的母语是什么?
答案 1 :(得分:0)
答案 2 :(得分:0)
当然可以。
假设@x是Xyz模型的一个实例,您可以打印@x对象的任何属性。
如果你没有@x对象。您可以在abc控制器的show动作中找到它并实例化@x。例如,@ x = Xyz.first。
答案 3 :(得分:0)
考虑您的示例,如果您有两个模型User和Report。您可以从用户的控制器,视图等访问Report的created_at。 你需要写这样的东西:
Report.find_by_created_at("2013-11-12 14:43:44.11824")
您可以参考导轨上的红宝石来学习导轨。您还可以找到基本的有效记录说明here
答案 4 :(得分:0)
这是非常基本的,但我正在为此提供最佳解决方案
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%>