繁体   English   中英

在Rails中的变量中使用JavaScript

[英]Using javascript in variable in rails

在模型弹出窗口中,根据该值,模型弹出内容必须创建一个接收作为变量的问题类型id为'$('#subquestion')。val()'的模型弹出窗口,

模型弹出窗口接收值,但基于此

<%@lg = Language.all %>
<% @qs_type = Question.find( **javascript value** ).question_type %>
<% @lg.each do |n| %>
   if ( @qs_type == 11)  
      matchingtype question two textbox
     <%= text_area %>   
     <%= text_area %>   
   elsif @qs_type == 3 
     mutiple choice one textbox. 
    <%= text_area %>
<% end %>

有什么办法吗? RJS是否有帮助?

抱歉,答案可能是否定的。

在评估模板时,Rails将首先解析并运行任何嵌入的ruby...。然后将生成的html(可能还有javascript)传递回客户端的计算机,由该计算机解释该html,然后运行javascript。

所以...当您开始运行JavaScript时,ruby已经运行,并且所有结果都已替换。 您无法从ruby调用javascript值,因为直到ruby使用它为时已晚,JavaScript才会运行。

您需要重新考虑被调用的内容和时间。 您可以使用的另一种选择是制作一个新的控制器操作,该操作返回json ...,然后在模板中,使用模板中javascript中的结果,通过AJAX调用该操作。

但是我想您在上面的内容是javascript和ruby的纠结缠结……应该更加简化。 从显示的内容中分离出所需的内容...,并向我们提供有关所需内容的更多信息,我们可以帮助您找到解决方案。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM