2013-11-02 23 views
0

我已經在我的控制器以下如何獲得在軌第一類ID找到方法

@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」

回答

2

@posts是一個數組。您不能在帖子數組上調用Post方法。您需要從要調用該方法的數組中選擇一篇文章。要獲得第一個,您需要使用@posts[0]@posts.first。現在,你有一個帖子,你可以要求其CATEGORY_ID:

@category = @posts.first.category_id 

這就是說,你已經擁有params[:id]相同的值,那麼爲什麼不使用呢?

+0

雅那很好工作 – Prabhakaran8737

+0

我只是想知道爲什麼不使用params [:id]。 –