ruby on rails -创建操作中的几个模型



我有三个模型:

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

我怎样才能知道名字和姓氏呢?

然后在模型中创建一个方法,只获取文章作者的姓和名:

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

可以重命名为authors_names,直接调用@article.authors_names

相关内容

  • 没有找到相关文章

最新更新