我正在使用类别,用户(使用Devise进行身份验证),帖子在Rails上创建应用程序。如果用户会写帖子我想在他的帖子上面显示他的名字。当另一位用户观看帖子时,他会知道谁创建了此帖子。我怎样才能做到这一点? 机型:
class User < ActiveRecord::Base
# Include default devise modules. Others available are:
# :confirmable, :lockable, :timeoutable and :omniauthable
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
has_many :posts
end
class Post < ActiveRecord::Base
belongs_to :user
belongs_to :category
end
class Category < ActiveRecord::Base
has_many :posts
end
控制器: PostController中
def show
@post = Post.find(params[:id])
@category = Category.find(params[:category_id])
end
视图/帖/显示
<div class="container">
<div class="post">
<div class="row">
<div class="col-md-6">
<div class="price pull-right">
<%= @post.price %>
</div>
<h3><%= @post.name %></h3>
<div class="content">
<%= @post.content %>
</div>
<div>
<strong>Когда:</strong>
<%= @post.date %>
</div>
</div>
<div class="col-md-6">
<%= post.user.email%>
</div>
</div>
</div>
</div>
<%= post.user.email%>
但它不起作用。
答案 0 :(得分:2)
在您的观看结束时,您有post.user.email
。您需要在那里使用@user
实例变量。
<div class="col-md-6">
<%= @post.user.email%>
</div>
</div>
</div>
</div>
<%= @post.user.email%>