Rails - 将数据保存到数据库

时间:2013-09-12 01:19:16

标签: ruby-on-rails ruby database activerecord

我有一个关于将数据保存到数据库的问题。这是初学者的问题。我刚开始学习Ruby on Rails。我的数据库中有用户,医生和预约。

class User < ActiveRecord::Base
has_many :appointments
has_many :doctors, :through => :appointments
end

class Doctor < ActiveRecord::Base
has_many :appointments
has_many :users, :through => :appointments
end

class Appointment < ActiveRecord::Base
belongs_to :doctor
belongs_to :user
end

我有以下控制器:

class AppointmentsController < ApplicationController
def create
    @appointment = Appointment.new(appointment_params)
    if @appointment.save
        flash[:success] = "Welcome!"
    else
        render 'new'
    end
end

def destroy
end 
end

如何通过View将特定约会保存到数据库?如何在约会控制器中从视图和设置参数中访问该方法?

非常感谢!

2 个答案:

答案 0 :(得分:1)

您是否听说过名为“update_attribute”的内容,这样您就可以根据需要更新特定的属性。只需要从视图中传递包括id的参数。

然后在您的控制器中执行以下操作:

user = User.find_by_id(params(:id))
user.appointments.update_attribute(:date, params(:date))

结帐this链接以获取详细说明。

答案 1 :(得分:1)

您可以在视图中使用@appointment,如果您正在创建新约会,那么方法是新的,AppointmentsController您将空约会传递给视图以及您拥有{ {1}}使用new.html.erb项,然后使用create来保存它们。