Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/441.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
Javascript 如何在rails中使用render:partial在单击时重新加载div_Javascript_Jquery_Ruby On Rails_Ruby On Rails 3_Partial Views - Fatal编程技术网

Javascript 如何在rails中使用render:partial在单击时重新加载div

Javascript 如何在rails中使用render:partial在单击时重新加载div,javascript,jquery,ruby-on-rails,ruby-on-rails-3,partial-views,Javascript,Jquery,Ruby On Rails,Ruby On Rails 3,Partial Views,我是rails的新手,正在尝试通过单击按钮重新加载一个div。我知道render partial不再适用于js资产。rails控制台确认,当我单击链接时,它会呈现局部视图,但它1似乎没有刷新div,2变量@choices没有传递到局部视图中 我觉得这很简单?对render:partial的初始调用是在另一个html.erb文件中进行的,并且该文件显示正确 steps_controller.rb helper_method :refresh .... def refresh @choice

我是rails的新手,正在尝试通过单击按钮重新加载一个div。我知道render partial不再适用于js资产。rails控制台确认,当我单击链接时,它会呈现局部视图,但它1似乎没有刷新div,2变量@choices没有传递到局部视图中

我觉得这很简单?对render:partial的初始调用是在另一个html.erb文件中进行的,并且该文件显示正确

steps_controller.rb

helper_method :refresh
....
def refresh
    @choices = get_valid_choices()
    render :partial => 'editor', :content_type => 'text/html', locals: {valid_choices: @choices}
end
在routes.rb中

match '/refresh', to: 'steps#refresh', via: 'get', as: :refresh
在_editor.html.erb部分视图中

<% valid_choices.each do |vc| %>
<%= link_to "Steps", :'data-update-target' => 'mySteps', remote: true, controller: 'steps', action: 'refresh' %>
<div class="step-name"><%= show_name(vc) %></div>
...     

顺便说一句,我想你会喜欢脊梁骨。jsthanky@Trip,我来看看