<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>JTAO</title>
    <link>https://ruby-china.org/JTAO</link>
    <description/>
    <language>en-us</language>
    <item>
      <title>rails：render 方法渲染问题</title>
      <description>&lt;p&gt;&lt;strong&gt;在 save 返回错误时，render 方法如何将&lt;a href="/xxx" class="user-mention" title="@xxx"&gt;&lt;i&gt;@&lt;/i&gt;xxx&lt;/a&gt;返回原页面，保证原输入内容不变&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;这是 articls_controller 下&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;new&lt;/span&gt;
&lt;span class="k"&gt;end&lt;/span&gt;
&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;create&lt;/span&gt;
  &lt;span class="vi"&gt;@article&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;Article&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;new&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;article_params&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

  &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="vi"&gt;@article.save&lt;/span&gt;
    &lt;span class="n"&gt;redirect_to&lt;/span&gt; &lt;span class="vi"&gt;@article&lt;/span&gt;
  &lt;span class="k"&gt;else&lt;/span&gt;
    &lt;span class="n"&gt;render&lt;/span&gt; &lt;span class="s1"&gt;'new'&lt;/span&gt;
  &lt;span class="k"&gt;end&lt;/span&gt;
&lt;span class="k"&gt;end&lt;/span&gt;
&lt;span class="kp"&gt;private&lt;/span&gt;
  &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;article_params&lt;/span&gt;
    &lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;require&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="ss"&gt;:article&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;permit&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="ss"&gt;:title&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:text&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
  &lt;span class="k"&gt;end&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;这是 new 表单下&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sx"&gt;%= form_for :article do |f| %&amp;gt;
  &amp;lt;p&amp;gt;
    &amp;lt;%=&lt;/span&gt; &lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;label&lt;/span&gt; &lt;span class="ss"&gt;:title&lt;/span&gt; &lt;span class="o"&gt;%&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;br&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sx"&gt;%= f.text_field :title %&amp;gt;
  &amp;lt;/p&amp;gt;

  &amp;lt;p&amp;gt;
    &amp;lt;%=&lt;/span&gt; &lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;label&lt;/span&gt; &lt;span class="ss"&gt;:text&lt;/span&gt; &lt;span class="o"&gt;%&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;br&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sx"&gt;%= f.text_area :text %&amp;gt;
  &amp;lt;/p&amp;gt;

  &amp;lt;p&amp;gt;
    &amp;lt;%=&lt;/span&gt; &lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;submit&lt;/span&gt; &lt;span class="sx"&gt;%&amp;gt;
  &amp;lt;/p&amp;gt;&lt;/span&gt;
&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sx"&gt;% end &lt;/span&gt;&lt;span class="o"&gt;%&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;提交 new 表单，当 article.save 返回错误时，render 方法返回 new，而且提交的内容不变&lt;/p&gt;

&lt;p&gt;如果我将 new 表单下
&lt;code&gt;
&amp;lt;%= form_for :article do |f| %&amp;gt;
&lt;/code&gt;
改为
&lt;code&gt;
&amp;lt;%= form_for :example do |f| %&amp;gt;
&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;相应的将 controller 下
&lt;code&gt;
 params.require(:article).permit(:title, :text)
&lt;/code&gt;
改为
&lt;code&gt;
 params.require(:example).permit(:title, :text)
&lt;/code&gt;
那么提交的内容被清除。&lt;/p&gt;

&lt;p&gt;这里的参数是怎么传递的呢？&lt;/p&gt;</description>
      <author>JTAO</author>
      <pubDate>Thu, 26 Jul 2018 21:13:31 +0800</pubDate>
      <link>https://ruby-china.org/topics/37230</link>
      <guid>https://ruby-china.org/topics/37230</guid>
    </item>
    <item>
      <title>ruby china 项目该怎么设置数据库？</title>
      <description>&lt;p&gt;rails+postgresql，在使用 postgresql 过程中遇到一个问题
执行&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$./bin/setup

Seed default data...致命错误:  角色 "atao" 不存在
Couldn't create database for {"adapter"=&amp;gt;"postgresql", "pool"=&amp;gt;64, "timeout"=&amp;gt;5000, "encoding"=&amp;gt;"utf-8", "database"=&amp;gt;"homeland-dev"}
rake aborted!
PG::ConnectionBad: 致命错误:  角色 "atao" 不存在
/home/atao/.rbenv/versions/2.5.1/bin/bundle:23:in `load'
/home/atao/.rbenv/versions/2.5.1/bin/bundle:23:in `&amp;lt;main&amp;gt;'
Tasks: TOP =&amp;gt; db:setup =&amp;gt; db:schema:load_if_ruby =&amp;gt; db:create
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;这一步该怎么去设置数据库呢？&lt;/p&gt;</description>
      <author>JTAO</author>
      <pubDate>Thu, 12 Jul 2018 12:10:26 +0800</pubDate>
      <link>https://ruby-china.org/topics/37141</link>
      <guid>https://ruby-china.org/topics/37141</guid>
    </item>
  </channel>
</rss>
