<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>renyijiu (renyijiu)</title>
    <link>https://ruby-china.org/renyijiu</link>
    <description></description>
    <language>en-us</language>
    <item>
      <title>局部刷新 的一点问题求解</title>
      <description>&lt;p&gt;1、首先我在&lt;code&gt;Users#index&lt;/code&gt;中返回了&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="nb"&gt;format&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;js&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="n"&gt;render&lt;/span&gt; &lt;span class="s1"&gt;'users/index'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;locals: &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="ss"&gt;users: &lt;/span&gt;&lt;span class="vi"&gt;@users&lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;2、在&lt;code&gt;index.js.erb&lt;/code&gt;中的代码是这样的&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="err"&gt;$&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'#users-index-table &amp;gt; table'&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;replaceWith&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"&amp;lt;%= escape_javascript(render(partial: 'users/users_index_table', locals: {users: users})) %&amp;gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;3、在&lt;code&gt;_users_index_table.html.erb&lt;/code&gt;这里面写了一些 table 的具体数据&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;现在的问题是，操作 table 后，其中数据能够正常的替换掉，页面也显示，但是点击浏览器的后退，然后再前进，浏览器显示的是&lt;/strong&gt;&lt;/p&gt;
&lt;pre class="highlight erb"&gt;&lt;code&gt;$('#users-index-table &amp;gt; table').replaceWith("&lt;span class="nt"&gt;&amp;lt;table&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;\"list&lt;/span&gt; &lt;span class="na"&gt;aui&lt;/span&gt;&lt;span class="err"&gt;\"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;\n  &lt;span class="nt"&gt;&amp;lt;thead&amp;gt;&amp;lt;tr&amp;gt;&lt;/span&gt;\n......
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;这样子的&lt;code&gt;js.erb&lt;/code&gt;中的代码，我自己看着觉得是没有问题的，因为我自己 render 确实是这个片段的代码，返回的也是正确的，&lt;/p&gt;

&lt;p&gt;&lt;em&gt;但是请教下，有没有什么办法或者正确的姿势能够显示页面，而不是这个 html 代码？&lt;/em&gt;&lt;/p&gt;
&lt;h2 id="UPDATE"&gt;UPDATE&lt;/h2&gt;
&lt;p&gt;在发起请求的那个按钮或者链接添加&lt;code&gt;format: :js&lt;/code&gt;，会产生&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="n"&gt;http&lt;/span&gt;&lt;span class="ss"&gt;:/&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="mf"&gt;127.0&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mf"&gt;0.1&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;3000&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;users&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;js?&lt;/span&gt;&lt;span class="o"&gt;.......&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;这样类似的请求，与另外的请求不同，可以解决这个问题。&lt;/p&gt;</description>
      <author>renyijiu</author>
      <pubDate>Wed, 04 Jan 2017 12:51:41 +0800</pubDate>
      <link>https://ruby-china.org/topics/32055</link>
      <guid>https://ruby-china.org/topics/32055</guid>
    </item>
  </channel>
</rss>
