Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在rails的变量中使用javascript_Javascript_Ruby On Rails_Rjs - Fatal编程技术网

在rails的变量中使用javascript

在rails的变量中使用javascript,javascript,ruby-on-rails,rjs,Javascript,Ruby On Rails,Rjs,在模型弹出窗口中,接收变量作为问题类型id作为“$(“#子问题”).val()”,模型弹出窗口内容必须基于此值创建 接收值但基于此的模型弹出窗口 <%@lg = Language.all %> <% @qs_type = Question.find( **javascript value** ).question_type %> <% @lg.each do |n| %> if ( @qs_type == 11) matchingtype

在模型弹出窗口中,接收变量作为问题类型id作为“$(“#子问题”).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 %>

如果(@qs_type==11)
匹配类型问题2文本框
elsif@qs_type==3
多选项一文本框。

有没有办法做到这一点?RJ是否有帮助?

对不起,答案可能是否定的

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

所以。。。当您开始运行javascript时,ruby已经运行,所有结果都已被替换。您不能从ruby调用javascript值,因为javascript直到ruby无法使用它时才开始运行

你需要重新考虑被呼叫的内容和时间。 您可以使用的另一个选项是创建一个返回json的新控制器操作。。。在模板中,通过AJAX调用该操作,并在此模板中使用javascript中的结果


但我认为上面提到的是javascript和ruby的纠结交织。。。这应该简化一点。把你需要的和你正在展示的分开。。。并向我们提供您所需的更多信息,我们可以帮助您找到解决方案。

RJ是否有帮助?告诉我如何解决。:)(这是一个反问句……也就是说,如果你不知道它会有什么帮助……那么它就没什么帮助了)