0

我有一个关于将数据保存到数据库的问题。这是初学者的问题。我刚开始学习 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 将特定约会保存到数据库?如何从视图和设置参数中访问约会控制器中的该方法?

非常感谢你!

4

2 回答 2

1

您是否听说过名为“update_attribute”的东西,这将允许您根据需要更新特定的属性。只是您必须从视图中传递包括 id 在内的参数。

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

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

查看链接以获取详细说明。

于 2013-09-13T11:57:08.987 回答
1

您可以@appointment在您的视图中使用,如果您正在创建新约会,那么该方法是新的,AppointmentsController您应该将一个空约会传递给视图以及您拥有new.html.erbform_for东西,然后您使用 create 来保存它们。

于 2014-02-05T21:06:35.147 回答