2014-11-16 2 views
0

Когда пользователь создает сообщение, отображается адрес электронной почты пользователя, чью почту и тех, кто вошел в систему. Например: user (1) войдите в систему для [email protected], добавлено сообщение , log out.user (2) зайдите на [email protected] и посмотрите сообщение от [email protected], но это сообщение отображает сообщение электронной почты от [email protected], это неправильно.Показать электронную почту пользователя при публикации комментариев в Rails

Контроллер

class PostsController < ApplicationController 
    def index 
    end 

    def create 
    @post = current_user.posts.build(post_params) 
    @post.name = current_user 
    if @post.save 
     redirect_to root_url 
    else 
     render 'static_pages/home' 
    end 
    end 

    def show 

    end 

    def destroy 
    end 

    private 

    def post_params 
     params.require(:post).permit(:title, :content) 
    end 
end 

Вид

<% @posts.each do |post| %></br></br> 
    <tr> 
     <td><%= post.title %></td> 
     <td><%= post.content %></td> 
     <%= @post.user.email %> 
    </tr></br></br> 
     <% end %> 

как исправить? Извините за мой плохой Английский

ответ

0

Внутри цикла вам необходимо использовать post для ссылки на текущий экземпляр сообщения, а не @post. Изменение

<%= @post.user.email %> 

в

<%= post.user.email %> 

Ваш код также содержит несколько ошибок HTML (например, элементы без td и br внутри таблицы ...), вы можете просмотреть руководство по HTML.

+0

спасибо, что вы человек! о мне и html я знаю: D Я все еще участвую – vveare138

Смежные вопросы