Rails远程使用回调

时间:2015-10-24 20:32:33

标签: ruby-on-rails

我是Ruby用户。我正试图在Ruby on rails上的远程工作中回调,让用户在课前15分钟进入教室。我用远程工作的原因是,当用户不断点击按钮时(除非我没有重置浏览器,系统似乎无法通过更改Time.now值来计算Time.now - start_time。所以我决定使用远程方法来解决这个问题。(但我愿意接受更好的想法!)

在视图中,

<%= content_tag :div, class: "classenter" do %>
<%= button_to "class enter",  classenter_path, method: :get, remote: true, class:"btn ", params: { lesson_id: lesson.id, user_id: current_user.id} %>
<% end %>

* about routes.rb =&gt;中的classenter_path get :classenter, to: "application#class_enter"

它转到应用程序控制器。

控制器看起来像

def class_enter 

user = User.find_by(:id => params[:user_id])
    lesson = Lesson.find_by(:id => params[:lesson_id])

    ready = false
    if ((lesson.start_time - Time.now)/3600*60) < 15
     ready = true

    else
     ready = false
    end
end

在我计算它是否准备就绪之后,我想将此信息传递给原始视图,以确定是否允许用户进入教室。

同样在/ views / application中的class_enter.js.erb文件中,我想发出一个警告,指示用户该类已准备就绪。

伪代码可能看起来像

if ready == true
else
alert("not ready");
end

如何在此设置中回电话?我期待听到专家的意见!

最佳

0 个答案:

没有答案