0

我的控制器中有以下内容

@posts = Post.where(category_id: params[:id]).paginate(page: params[:page], per_page: 20).to_a

我需要获取类别 ID,所以我尝试了

@category = @posts.category_id.first

我在视图隐藏字段中使用它

<input type="hidden" value="<%= @category %>" />

我如何在我的隐藏字段中获取 id 并将错误作为

未定义的方法`category_id'

4

1 回答 1

2

@posts是一个数组。您不能Post在帖子数组上调用方法。您需要从要调用该方法的数组中选择一篇文章。要获得第一个,您可以使用@posts[0]or @posts.first。现在你有一个帖子,你可以询问它的 category_id:

@category = @posts.first.category_id

也就是说,您已经在 处具有相同的值params[:id],那么为什么不使用它呢?

于 2013-11-02T04:15:06.090 回答