ruby-on-rails - 如何在 Rails 中将一个模型的内容分配给另一个模型?

标签 ruby-on-rails model controller

我有以下创建操作:

def create
    @order = Order.new(params[:order])

    if params[:same_as_above] == "1"
      @order.billing_address.name = @order.shipping_address.name
      @order.billing_address.number = @order.shipping_address.number
      @order.billing_address.street = @order.shipping_address.town
    end

    if @order.save
      if @order.purchase
        render :action => "success"
      else
        render :action => "failure"
      end
    else
      render :action => 'new'
    end
  end

它可以工作,但在我将送货地址逐个属性复制到帐单地址的方式上似乎有点麻烦和脆弱。请问有更好的办法吗?

最佳答案

@order.billing_address.attributes = @order.shipping_address.attributes

成功了。

关于ruby-on-rails - 如何在 Rails 中将一个模型的内容分配给另一个模型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3374733/

相关文章:

sql - Grails 处理来自 sql 数据库的信息

java - 发送 boolean 值作为请求参数

ruby-on-rails - 使用迁移更改表列的默认值

php - 字符串中具有特殊字符的 Laravel 种子数据库

php - Laravel 模型与 makeHidden

python - 如何在 Django get_context_data 方法中访问模型的外部集合的元素?

ruby-on-rails - 在 Rails 4 中通过隐藏标签传递参数是否安全?

ruby-on-rails - FineUploader 在 Ruby 中签名

ruby-on-rails - Rails、Devise 和 Facebook Oauth : request. env ["omniauth.auth"] 为零

javascript - bcbankApp.accsummary 模块 AccountSummaryController 应该有一个 getAccountSummary 函数 在 Angular js 中失败