<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>wjeasys (Wangj)</title>
    <link>https://ruby-china.org/wjeasys</link>
    <description/>
    <language>en-us</language>
    <item>
      <title>Rails 的自定 Helper 方法的作用域问题</title>
      <description>&lt;p&gt;我现在使用的是 Rails 5.0.0.1 和 Ruby 2.3.1p112。
在使用自定义 helper 的方法时遇到一个作用域不清晰的问题。
我在 articles_helper.rb 中定义了如下方法：&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="k"&gt;module&lt;/span&gt; &lt;span class="nn"&gt;ArticlesHelper&lt;/span&gt;
    &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;trunk&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="s2"&gt;"hello world ArticlesHelper"&lt;/span&gt;
  &lt;span class="k"&gt;end&lt;/span&gt;
&lt;span class="k"&gt;end&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;在 welcome 文件夹下的 index_html.erb 中定义如下：&lt;/p&gt;
&lt;pre class="highlight erb"&gt;&lt;code&gt;
&lt;span class="nt"&gt;&amp;lt;html&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;h1&amp;gt;&lt;/span&gt;Hello, WelcomeIndex&lt;span class="nt"&gt;&amp;lt;/h1&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;h1&amp;gt;&lt;/span&gt;&lt;span class="cp"&gt;&amp;lt;%=&lt;/span&gt; &lt;span class="n"&gt;trunk&lt;/span&gt;&lt;span class="cp"&gt;%&amp;gt;&lt;/span&gt;&lt;span class="nt"&gt;&amp;lt;/h1&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/html&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;在 articles 文件夹下的 new_html.erb 中定义如下：&lt;/p&gt;
&lt;pre class="highlight erb"&gt;&lt;code&gt;
&lt;span class="nt"&gt;&amp;lt;html&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;h1&amp;gt;&lt;/span&gt;Hello, ArticlesNew&lt;span class="nt"&gt;&amp;lt;/h1&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;h1&amp;gt;&lt;/span&gt;&lt;span class="cp"&gt;&amp;lt;%=&lt;/span&gt; &lt;span class="n"&gt;trunk&lt;/span&gt;&lt;span class="cp"&gt;%&amp;gt;&lt;/span&gt;&lt;span class="nt"&gt;&amp;lt;/h1&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/html&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;运行结果如下：
&lt;img src="https://l.ruby-china.com/photo/2016/a698771c61f4fd8add97b98d6dbdb4bb.png!large" title="" alt=""&gt;
&lt;img src="https://l.ruby-china.com/photo/2016/220c5c08e9830875fcd38564d7e11d27.png!large" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;然后我在网上搜索资料，在 Wiki 库里看到一篇文章，是这么描述的：
&lt;img src="https://l.ruby-china.com/photo/2016/ad274260c708d2dd45c499bf3aa42cf8.png!large" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;想请问 rails 能做到一个 helper 对应一个 view 吗？其中定义的方法只在这一个 view 中生效，而不是作为全局的方法。&lt;/p&gt;</description>
      <author>wjeasys</author>
      <pubDate>Fri, 19 Aug 2016 11:55:30 +0800</pubDate>
      <link>https://ruby-china.org/topics/30855</link>
      <guid>https://ruby-china.org/topics/30855</guid>
    </item>
  </channel>
</rss>
