Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/63.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
Ruby on rails 动态地将哈希值传递给部分_Ruby On Rails_Ruby_Hash_Render_Partials - Fatal编程技术网

Ruby on rails 动态地将哈希值传递给部分

Ruby on rails 动态地将哈希值传递给部分,ruby-on-rails,ruby,hash,render,partials,Ruby On Rails,Ruby,Hash,Render,Partials,我遇到了一个问题,就是如何将散列值动态地传递给部分文件。我在我的页面上显示了人名(这是一部分)。哈希值如下所示: names[1] = "James" names[2] = "Williams" names[3] = "Jack" render :partial => "list", :locals => {:names => names} names[21] = 'Flink' names[81] = 'Mark' 我需要动态地传递散列值。我该怎么做

我遇到了一个问题,就是如何将散列值动态地传递给部分文件。我在我的页面上显示了人名(这是一部分)。哈希值如下所示:

names[1] = "James"  
names[2] = "Williams"  
names[3] = "Jack"  

render :partial => "list", :locals => {:names => names}  
names[21] = 'Flink'  
names[81] = 'Mark'
我需要动态地传递散列值。我该怎么做?在本例中,新哈希如下所示:

names[1] = "James"  
names[2] = "Williams"  
names[3] = "Jack"  

render :partial => "list", :locals => {:names => names}  
names[21] = 'Flink'  
names[81] = 'Mark'
我的代码

类PrlcController<应用程序控制器
def棒
@names=Hash.new
@姓名[1]=“詹姆斯”
@姓名[2]=“威廉姆斯”
@姓名[3]=“杰克”
结束
def foo_ajax
@names=Hash.new
@姓名[21]=“弗林克”
@名称[81]=“标记”
结束
结束
bar.rhtml
----------
“列表”,:locals=>“{:names=>@names}”%>
“加载\u foo\u ajax\u数据”%>
函数加载\u foo\u ajax\u data(){
新的Ajax.Updater(“foo_Ajax_data”、“/Prlc/foo_Ajax”{
是的,
evalscript:对,
onComplete:函数(请求){
},
onload:函数(请求){}
});
}
foo_ajax.rhtml
--------------
这里有一些过程。
_list.rhtml
-----------
显示名称
尝试以下内容

class PrlcController < ApplicationController
  def bar
    @names = Hash.new
    @names[1] = "James"  
    @names[2] = "Williams"  
    @names[3] = "Jack"  
  end

  def foo_ajax
    @names = Hash.new
    @names[1] = 'Flink'  
    @names[2] = 'Mark'
    render :update do |page|
      page.replace_html  'foo_ajax_data', :partial => "list", :object => [@names]
    end
  end

end
class-PrlcController“list”,:object=>[@names]
结束
结束
结束
bar.rhtml
“list”,:locals=>“{:names=>@names}”%>
{:action=>“加载\u foo\u ajax\u数据”}%>

需要“动态传递哈希值”是什么意思?如果你不编造行话会有帮助的。是的@coreyward。我需要将散列值动态地传递给部分文件。这个散列值何时会动态变化?在我的页面中,我调用了一个AJAX,当它完成时,散列值将发生变化。因此,我需要立即更新名称列表。您需要的是重新加载它-如果您使用rjs,可能使用类似“page.replace_html”的东西就可以了。谢谢@sail。但是,这不是我的答案。我需要用foo_ajax.rhtml文件更新[id]foo_ajax_数据。“:partial=>list..”是单独的部分。当foo_ajax调用完成后,更新清单部分。