0

我有三个模型:

  • 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">].

我怎样才能得到名字和姓氏?

4

1 回答 1

0

然后在您的模型中创建一个仅获取文章作者的名字和姓氏的方法:

# somewhere in models/article.rb
def article_authors_names
  article_authors.select('first_name, last_name')
end

您可以重命名为authors_names并简单地调用@article.authors_names.

于 2013-01-19T17:57:37.710 回答