authlogic и сообщения для current_user - PullRequest
0 голосов
/ 17 августа 2011

Я использую authlogic для пользователей, чтобы войти в систему, и как только они это сделают, я бы хотел, чтобы они могли добавлять сообщения. По какой-то причине я продолжаю получать "Не удалось найти пользователя без идентификатора". Ниже мой код:

posts controller
def create
  @user = User.find(params[:user_id])
  @post = @user.posts.create(params[:post])
  redirect_to current_user_path(@current_user)  
end

show page
  <% @user.posts.each do |post| %>
 <tr>
   <td><%= post.postName %></td>
   <td><%= post.body %></td>
   <td><%= link_to 'Show', post %></td>
   <td><%= link_to 'Edit', edit_post_path(post) %></td>
   <td><%= link_to 'Destroy', post, :confirm => 'Are you sure?', :method => :delete %>       </td>
 </tr>
<% end %>
</table>

<br />

<h2>Add a Post:</h2>
<%= form_for([@current_user, @user.posts.build]) do |f| %>

  <div class="field">
    <%= f.label :body %><br />
    <%= f.text_area :body %>
  </div>
  <div class="actions">
    <%= f.submit %>
  </div>
<% end %>

Я знаю, что это как-то связано с текущим пользователем, но я не могу заставить это работать! Любая помощь с благодарностью!

1 Ответ

0 голосов
/ 17 августа 2011

Во-первых, вы должны использовать current_user, а не @current_user

Во-вторых, вы делаете @user = User.find(params[:user_id]), но я не понимаю, почему вы ожидаете, что в ваших параметрах будет что-то вроде :user_id.Вот почему вы получаете сообщение об ошибке «Не удалось найти пользователя без идентификатора».

...