Как можно использовать «params» при проверке модели? - PullRequest
0 голосов
/ 26 октября 2010

Очевидно, я использую 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>

ошибку.

  1. Как использовать params [: category]??

  2. Кроме того, как я могу быть уверен, что params [: category] будет одной из категорий, перечисленных в таблице базы данных article_categories?Я не хочу, чтобы пользователь вручную вводил адрес для случайной категории и вставлял его в таблицу.

1 Ответ

2 голосов
/ 26 октября 2010

Если статья имеет атрибут: категория, тогда, когда вы делаете

@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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...