假设我有模型xyz.rb和模型abc.rb.它们之间没有关系。如果想在abc views/print/show.html.erb中打印来自xyz的任何属性?Ruby Rails的基本问题
我知道很基本但是很好的解释。
假设我有模型xyz.rb和模型abc.rb.它们之间没有关系。如果想在abc views/print/show.html.erb中打印来自xyz的任何属性?Ruby Rails的基本问题
我知道很基本但是很好的解释。
当然可以。
假设@x是Xyz模型的一个实例,您可以打印@x对象的任何属性。
如果你没有@x对象。您可以在abc控制器的show动作中找到它并实例化@x。例如@x = Xyz.first。
您可以从任何控制器,视图或帮助程序方法访问任何模型。 Mvc表示模型,控制器和视图是相关的,但它们之间的访问没有限制。正常的事情。将它们存储在任何控制器的报告实例变量,然后输出视图:
#print_controller.rb
def show
@reports = Report.find_by_some_attribute(...
#show.html.erb
<%- @reports.each do |report| -%>
<%= report.created_at -%>
<%- end -%>
我真的觉得,虽然你需要找到学习轨道的更好方法。这是非常基本的,就像你说的,我会建议你买一本书。你会说英语吗,或者你的母语是什么?
我说阿拉伯语,我的英语很烂! – user659068 2011-04-28 13:52:10
你的英语绝对比我的阿拉伯语好。 :)我不知道是否有任何良好的阿拉伯语轨道资源。你可以做的是看看railscasts.com。他们使用英文,但您可以按照“脚本代码”的方式工作,您会发现每个教程都提供了源代码。我认为看其他人的代码是最好的学习方法之一。 – mark 2011-04-28 13:57:40
考虑你的例子,如果你有两个模型User和Report。您可以从用户的控制器访问Report的created_at,查看等。 你需要写这样的事:
Report.find_by_created_at("2013-11-12 14:43:44.11824")
你可以参考Ruby on Rails的指南,了解轨道。你还可以找到基本的活动记录的解释here
这很基本的,但我给最好的解决这个
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%>
你真的不得不多放一点精力投入到解释你的问题。 :) – mark 2011-04-28 13:32:43
对不起。假设我有用户和报告,并且想要在user/show.html.erb中显示报告的created_at。有帮助吗? – user659068 2011-04-28 13:36:55
今后,尝试比“Ruby Rails的基本问题”有更好的问题标题。我们知道它是Ruby on Rails,因为这些标签,堆栈溢出中的所有内容都是一个问题,因此您不需要在问题标题中出现“问题”。 – 2011-04-28 23:11:23