Я хотел бы передать дополнительное поле, скажем, ITEM_ID в эти строки кодов (оба контроллера и модели):Как передать дополнительные параметры в Rails от контроллера к модели
# transactions_controller.rb (controller)
@transaction = Transaction.new(app_token: params[:token])
# transaction.rb (model)
def app_token=(token)
write_attribute(:app_token, token)
# I want to add a few more lines of code here so that I can manipulate item_id
end
Это означает, что я бы как мой item_id, который должен быть передан от контроллера к модели, чтобы я мог манипулировать им, некоторые настройки в модели.
Что было бы лучшим способом для этого (на основе кода выше)?
=== Дополнение 1-Sep-2014 для получения более подробной информации ===
У меня есть объединение тележки и сделок, в которой ТЕЛЕГУ HAS_MANY сделки и сделки belongs_to корзины; ниже - контроллер;
# transactions_controller.rb (controller)
def new
@transaction = Transaction.new(app_token: params[:token])
end
В то время как метод ниже в модели:
# transaction.rb (model)
def app_token=(token)
write_attribute(:app_token, token)
# I want to add a few more lines of code here so that I can manipulate cart.id
end
То, что я хотел бы достичь здесь должна пройти в cart.id в метод app_token, который расположен в transaction.rb , Обратите внимание, что этот cart.id не предназначен для сохранения в базе данных, который я могу легко сделать с помощью метода create через build, но, скорее, этот cart.id используется для передачи в метод вызова других методов, которые расположены в методе app_token, который находится в модели transaction.rb. Причина, по которой я делаю это, заключается в том, что служба, с которой я общаюсь, возвращает токен, и я хотел бы провести токен и выполнить другой метод, который требует, чтобы cart.id находился.
Таким образом, я просто хотел бы понять, на основе данного формата контроллера и модели выше, что наиболее рекомендуемый способ передать в этом cart.id в метод app_token, который находится в модели transaction.rb, которую я хотел бы использовать для других функции внутри метода?
Спасибо!
Это неясно, о чем вы спрашиваете. Вы хотите передать произвольные элементы данных при инициализации экземпляра модели? Можете ли вы уточнить? – infused
@ infused, я отредактировал этот вопрос, чтобы обеспечить дополнительную ясность. Дайте мне знать, если все в порядке? Извините за путаницу, вызванную, если она есть. –