ハッシュ値を部分ファイルに動的に渡すという問題に直面しました。私は自分のページに人の名前を表示しました(これは部分的です)。ハッシュ値は次のようになります。
names[1] = "James"
names[2] = "Williams"
names[3] = "Jack"
render :partial => "list", :locals => {:names => names}
ハッシュ値を動的に渡す必要があります。どうやってやるの?この例では、新しいハッシュは次のようになります。
names[21] = 'Flink'
names[81] = 'Mark'
私のコード
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[21] = 'Flink'
@names[81] = 'Mark'
end
end
bar.rhtml
----------
<!-- Name listing section -->
<%= render :partial => "list", :locals => "{:names => @names}" %>
<!-- AJAX calling section -->
<%= link_to_function "call testing", :onclick => "load_foo_ajax_data" %>
<!-- AJAX section -->
<div id="foo_ajax_data">
</div>
<!-- script section -->
function load_foo_ajax_data() {
new Ajax.Updater("foo_ajax_data","/Prlc/foo_ajax", {
asynchronous:true,
evalScripts:true,
onComplete:function(request){
},
onLoading:function(request){}
});
}
foo_ajax.rhtml
--------------
Some process here.
_list.rhtml
-----------
Display the names