所以我想要的是在更新事件后重新渲染表。
我这样做:
## My Controller:
respond_to do |format|
if schedule_child.save
sql = "schedules.doctor_id = ? AND schedules.location_id = ? AND schedule_children.start_time >= ? AND schedule_children.start_time <= ?"
@schedules = ScheduleChild.joins(:schedule).where(sql, current_doctor.id, session[:location_id], Time.now, Time.now + 7.days).order(start_time: :asc).page(params[:page]).per(7)
format.js {render :layout => false}
end
end
我的js.erb:
$('#schedules').html( "<%= escape_javascript( render "schedules" ) %>" );
我的观点:
%a.status_link.btn.btn-success.btn-sm{"data-href" => set_schedule_status_path(location_id: session[:location_id] ,id: schedule.id), :style => "#{schedule.is_away ? 'display: none' : '' }", :id => "#{schedule.id}", :remote => "true"}
%i.fa.fa-check-square-o
%span Available
表已成功呈现,但我无法单击视图中的链接。我做错了什么?谢谢你的帮助:)
答案 0 :(得分:2)
使用"data-href"
作为链接而不是"href"
需要额外的javascript才能使链接可用。可能你已经有了javascript,并在document.ready
上调用它,并在数据属性“data-href”的每个链接上应用你的javascript逻辑。
如果是这种情况,您有四个选项(只是猜测,因为我不知道您正在使用的数据-href的逻辑):
href
代替data-href
document.ready
和ajaxStop
$('body').on('click', 'a[data-href]', ...