2010-10-25 29 views
0

顯然,我使用params [:category](來自路由...)對同一個表中的一些文章進行分類,而我只是想將文章的分類列設置爲params [:category]。我試着只是說如何在模型驗證中使用'params'?

class Article < ActiveRecord::Base 
    has_many :comments 
    belongs_to :article_category # this is the model that has info about categories 
    category = params[:category] 
end 

但上述驗證拋出

undefined local variable or method `params' for #<Class:0x3c4ad30> 

錯誤。

  1. 我該如何使用params [:category]?

  2. 此外,如何確保params [:category]將成爲article_categories數據庫表中列出的類別之一?我不希望用戶手工輸入隨機類別的地址並將其插入表格中。

+0

您確實需要了解MVC的基礎知識。查詢參數僅在控制器操作中可用,因爲控制器處理所有HTTP請求。你能更具體地說明你想要做什麼嗎? – Teoulas 2010-10-25 21:46:06

回答

2

如果一個項目有一個屬性:類別,然後當你做

@article = Article.new(params[:article]) 

類別屬性應自動設置。這聽起來像你只需要創建視圖來發送類別字段作爲文章形式的一部分。

<%= form_for @article do |f| %> 
    <%= f.text_input :category %> 
    ... 

這應該給你你想要帕拉姆:

params[:article][:category] 

如果分類是一個獨立的模型,那麼你可以使用嵌套的表格。請參閱 http://railscasts.com/episodes/196-nested-model-form-part-1