【发布时间】:2014-09-02 01:44:56
【问题描述】:
我想在这些代码行(控制器和模型)中传递一个额外的字段,比如 item_id:
# 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 从控制器传递到模型,以便我可以操纵它在模型中进行一些自定义。
这样做的最佳方法是什么(基于上面的代码)?
===更新至 2014 年 9 月 1 日以了解更多详情===
我有购物车和交易的关联,其中购物车有_许多交易和交易属于购物车;下面是控制器;
# 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 传递到位于transaction.rb 中的app_token 方法中。请注意,这个 cart.id 并不是要保存到数据库中,我可以通过 build 的 create 方法轻松地做到这一点,而是这个 cart.id 用于传递到方法中以调用位于的其他方法在位于 transaction.rb 模型中的 app_token 方法中。我这样做的原因是,我正在与之通信的服务返回一个令牌,我想持有该令牌并执行另一个需要 cart.id 的方法。
因此,我只是想了解,根据上面给定的控制器和模型格式,将这个 cart.id 传递到位于 transaction.rb 模型中的 app_token 方法中最推荐的方式是什么我想用于方法中的其他功能?
谢谢!
【问题讨论】:
-
不清楚你在问什么。您想在初始化模型实例时传递任意数据元素吗?你能详细说明一下吗?
-
@infused,我已经编辑了问题以提供进一步的清晰度。让我知道是否可以?对造成的混乱表示抱歉。
标签: ruby-on-rails ruby ruby-on-rails-4