Привет! Я работал с книгой Майкла Хартла RAILSTUTORIAL, и у меня есть вопрос о том, как он создает страницу показа пользователя.
На этой странице должны быть перечислены все сообщения, сделанные пользователем.
UsersController
def show
@user = User.find(params[:id])
@posts = @user.posts.paginate(:per_page => "10",:page => params[:page])
@title = @user.name
end
users / show.html.erb
<table class="profile" summary="Profile information">
<tr>
<td class="main">
<h1><%= @user.name %></h1>
<%= render 'follow_form' if user_signed_in? %>
<% unless @user.posts.empty? %>
<table class="posts" summary="User posts">
<%= render @posts %> # this goes to posts/_post and sends the object as post
# that makes the _post view use a local variable correct?
</table> # is there a way to do with with an @post variable?
<%= will_paginate @posts %>
<% end %>
</td>
<td class="sidebar round">
<%= link_to avatar_for(@user), @user.avatar.url %><br />
<strong>Name</strong> <%= @user.name %><br />
<strong>URL</strong> <%= link_to user_path(@user), user_path(@user) %>
<strong>Posts</strong> <%= @user.posts.count %>
<%= render 'shared/stats' %>
</td>
</tr>
</table>
posts / _post.html.erb
<tr>
<td class="post">
<span class="title"><strong><%= link_to post.title, post %></strong></span><br />
<span class="timestamp">
Posted <%= time_ago_in_words(post.created_at) %> ago. </span>
<a href="<%= likers_post_path(@post) %>">Likers</a><span id="likers"><br />
</span>
</td>
<% if current_user?(post.user)%>
<td>
<%= link_to "delete", post, :method => :delete,
:confirm => "You sure?",
:title => post.content %>
</td>
<%end%>
</tr>
Мне нужно сделать частичное впользовательское представление, которое использует объект post, но запрашивает его как @post, и поскольку @ action не было определено в действии show контроллера пользователя, я получаю нулевую ошибку.
Мне кажется странным переходить от контроллера пользователя к представлению сообщений и использовать локальную переменную, которую, если я правильно понимаю локальные переменные, нельзя использовать вне этого представления.Есть ли способ присвоить значение post в этом представлении @post в представлении пользователей?
Спасибо за помощь