显然,我使用params [:category](来自路由...)来对同一个表中的一些文章进行分类,我只想将文章的类别列设置为params [:category]。我试着说
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>
错误。
如何使用params [:category] ??
此外,我如何确保params [:category]将成为article_categories数据库表中列出的类别之一?我不希望用户手动输入随机类别的地址并将其插入表格中。
答案 0 :(得分:2)
如果文章具有属性:类别,那么当您执行
时@article = Article.new(params[:article])
应自动设置category属性。听起来您只需要创建视图以将类别字段作为文章表单的一部分发送。
<%= form_for @article do |f| %>
<%= f.text_input :category %>
...
这应该给你你想要的参数:
params[:article][:category]
如果“类别”是单独的模型,则可以使用嵌套表单。看到 http://railscasts.com/episodes/196-nested-model-form-part-1