Посылает параметры из контроллера в модель с проверкой - PullRequest
0 голосов
/ 16 мая 2011

Я rails noob, и меня смущает отправка параметров с контроллера на модель. Скажем, у моей модели есть поля user_id_from и user_id_to, но для контроллера они пришли как to и from (для упрощения на стороне клиента).

Так что в моем контроллере я должен изменить поля для модели с таким уродливым кодом:

UserRelationship.crate (: to => params [: user_id_to],: from => params [: user_id_from])

ИЛИ

эта модификация может быть сделана другим способом?

1 Ответ

1 голос
/ 16 мая 2011

Обычно проще всего изменить контроллер или форму для отправки их в виде params [: user_id_to] и params [: user_id_from], если это возможно.

Но другой способ сделать это проще -использовать alias_attribute

# app/models/user_relationship.rb
class UserRelationship < ActiveRecord::Base
  alias_attribute :to,   :user_id_to
  alias_attribute :from, :user_id_from
end

Длинный способ сделать это также довольно прост:

def to=(val)
  self['user_id_to'] = val
end
def from=(val)
  self['user_id_from'] = val
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...