我有三种模式:
User (first_name, last_name, mail)
Article (name, info)
Article_Author (user_id and article_id)
在Article_controller
中,create
操作如下所示:
def create
@article = article.new(params[:article])
@article_author = @article.article_authors.build(params[:article_authors])
@article_authors.user_id = current_user.id
respond_to do |format|
if @article.save
format.html { redirect_to @article, :flash=>{:notice=>'Article was successfully created.'} }
else
format.html { render action: "new" }
end
end
end
看起来没关系,因为在Article_Author
表中我可以看到user_id
等于当前用户ID,article_id
是当前文章ID。在视图中,当我写<%= @article.article_authors %>
时,它为我提供了完整的用户数组:[#<ArticleAuthors id: 1, user_id: 2, article_id: 10, created_at: "2013-01-15 18:46:39", updated_at: "2013-01-15 18:46:39">]
。
我怎样才能获得名字和姓氏?
答案 0 :(得分:0)
然后在模型中创建一个方法,只获取文章作者的名字和姓氏:
# somewhere in models/article.rb
def article_authors_names
article_authors.select('first_name, last_name')
end
您可以重命名为authors_names
,只需致电@article.authors_names
。