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