2014-04-30 76 views
0

当一个人使用:渲染部分帮助和故障

<%= render user.posts %> 

正在发生的事情是告诉它来搜索部分_post.html.erb,知道通过指定的用户里面的代码背后呼叫?

我看到很多例子,其中的部分被从索引外调用,如:

<%= render partial: "posts", locals: {post: post} %> 

但是,这是从上方

回答

0

render user.posts的例子不同检测模型/ S作为参数,并搜索/posts/_post.html.erb部分,请参见here,第3.4.5节。

render :partial => 'xxx/yyy'搜索xxx/yyy文件的意见路径app/views,即app/views/xxx/yyy,你可以看到在这些意见通过看你的Rails服务器控制台上搜索过的地点。

+0

可以使用相同的结果给定的<%=渲染user.posts%>被显示在部分?例如,在名为_user_posts.html.erb的用户文件夹中创建一个部分。我之所以问这个问题,是因为我想要定制这个视图的方式与使用相同调用的其他关联模型ex <:%= render subscriber.posts%>的方式稍有不同。不知道如果可能的话 – RubyNewbie

+0

如果你在这种情况下使用'render:partial ...',它会更少混淆。 – juanpastas

+0

我试图解决的情况是让你说_post.html.erb被用户'<%= render user.posts%>'和用户'<%= render subscriber.posts%>“调用。 '基本上他们会看到相同的布局,因为它正在调用帖子中的相同部分。我试图根据渲染的位置来设计两种不同的视图。用户会看到它以一种方式格式化,用户另一种方式。我想为了达到这个目的,我需要创建两个单独的部分。我只是不确定如何传递信息。 – RubyNewbie

0

找出我想要达到的目标。我知道我错过了一些简单的。

内部我的节目视图:

<% @user.posts.each do |post| %> 
    <%= post.title %> 
<% end %>