<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>babyhai (余海玲)</title>
    <link>https://ruby-china.org/babyhai</link>
    <description></description>
    <language>en-us</language>
    <item>
      <title>我想做一个测试用例管理的网站，有一个功能点不知道怎么做 希望大神可以给点思路  或者一些参考链接</title>
      <description>&lt;p&gt;类似这样的功能点
&lt;img src="https://l.ruby-china.com/photo/2018/307fee07-face-47c7-bbb7-570957a3eb4a.png!large" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;点击执行，结果通过后才显示转 bug 的按钮  这里的转为 bug  是吧这条用例转为 bug  内容也带过去  点击这个按钮之后是编辑的状态，之前没写过类似的  &lt;/p&gt;

&lt;p&gt;这是点击 执行之后  &lt;img src="https://l.ruby-china.com/photo/2018/15b767e0-7a7d-46fa-9484-bc13f8ec5d1d.png!large" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src="https://l.ruby-china.com/photo/2018/3e3aa62d-ed39-472f-96e8-f73bc7afbf1e.png!large" title="" alt=""&gt;&lt;/p&gt;</description>
      <author>babyhai</author>
      <pubDate>Sat, 24 Feb 2018 13:25:38 +0800</pubDate>
      <link>https://ruby-china.org/topics/35069</link>
      <guid>https://ruby-china.org/topics/35069</guid>
    </item>
    <item>
      <title>看着源码操作的 controller 下的 application_controller.rb 出错</title>
      <description>&lt;p&gt;这是报错信息&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="no"&gt;RuntimeError&lt;/span&gt; &lt;span class="k"&gt;in&lt;/span&gt; &lt;span class="no"&gt;TopicsController&lt;/span&gt;&lt;span class="c1"&gt;#index&lt;/span&gt;
&lt;span class="no"&gt;Circular&lt;/span&gt; &lt;span class="n"&gt;dependency&lt;/span&gt; &lt;span class="n"&gt;detected&lt;/span&gt; &lt;span class="k"&gt;while&lt;/span&gt; &lt;span class="n"&gt;autoloading&lt;/span&gt; &lt;span class="n"&gt;constant&lt;/span&gt; &lt;span class="no"&gt;Homeland&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;ApplicationController&lt;/span&gt;

&lt;span class="k"&gt;module&lt;/span&gt; &lt;span class="nn"&gt;Homeland&lt;/span&gt;
  &lt;span class="k"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;ApplicationController&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;ApplicationController&lt;/span&gt;
    &lt;span class="n"&gt;helper&lt;/span&gt; &lt;span class="no"&gt;Homeland&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;ActionView&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;WillPaginate&lt;/span&gt;
    &lt;span class="n"&gt;helper&lt;/span&gt; &lt;span class="no"&gt;Homeland&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;ApplicationHelper&lt;/span&gt;

    &lt;span class="n"&gt;helper_method&lt;/span&gt; &lt;span class="ss"&gt;:current_user&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:owner?&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:admin?&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;源码这里好像是没有写，不知道是不是漏掉了
&lt;img src="https://l.ruby-china.com/photo/2018/3c8016e8-914e-4191-98ff-e4dacd612438.png!large" title="" alt=""&gt;&lt;/p&gt;</description>
      <author>babyhai</author>
      <pubDate>Fri, 19 Jan 2018 16:47:23 +0800</pubDate>
      <link>https://ruby-china.org/topics/34922</link>
      <guid>https://ruby-china.org/topics/34922</guid>
    </item>
    <item>
      <title>Puma+Nginx+Postgres 部署 Rails 项目，puma 无法启动 production 模式</title>
      <description>&lt;p&gt;使用  RAILS_ENV=production rails s  启动 puma&lt;/p&gt;

&lt;p&gt;&lt;img src="https://l.ruby-china.com/photo/2018/507e0ce4-8ddd-43ee-8665-d21274a7108f.png!large" title="" alt=""&gt;&lt;/p&gt;
&lt;h4 id="访问不了；"&gt;访问不了；&lt;/h4&gt;&lt;h4 id="如果这么启动  bundle exec puma -C config/puma.rb"&gt;如果这么启动  bundle exec puma -C config/puma.rb&lt;/h4&gt;
&lt;p&gt;&lt;img src="https://l.ruby-china.com/photo/2018/fda68f3e-dbed-49d6-b5b4-280c8762c637.png!large" title="" alt=""&gt;&lt;/p&gt;
&lt;h4 id="却是默认： development 模式"&gt;却是默认：development 模式&lt;/h4&gt;&lt;h4 id="nginx的错误日志："&gt;nginx 的错误日志：&lt;/h4&gt;&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="mi"&gt;2018&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="mo"&gt;01&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="mi"&gt;12&lt;/span&gt; &lt;span class="mo"&gt;04&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;34&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;38&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;error&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="mi"&gt;29429&lt;/span&gt;&lt;span class="c1"&gt;#0: *151 connect() to unix:///www/Haley_blog/shared/tmp/sockets/puma.sock failed (111: Connection refused) while connecting to upstream, client: 104.238.248.15, server: haleyme.com, request: "GET / HTTP/1.1", upstream: "http://unix:///www/Haley_blog/shared/tmp/sockets/puma.sock:/500.html", host: "www.HALEYME.com"&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;&lt;h4 id="puma.rb  文件"&gt;puma.rb  文件&lt;/h4&gt;
&lt;p&gt;&lt;img src="https://l.ruby-china.com/photo/2018/8a2e7011-cd64-45f9-b046-2e922b629d37.png!large" title="" alt=""&gt;&lt;/p&gt;
&lt;h4 id="nginx.conf  文件"&gt;nginx.conf  文件&lt;/h4&gt;
&lt;p&gt;&lt;img src="https://l.ruby-china.com/photo/2018/9953425a-e119-4187-9e19-188c1b530903.png!large" title="" alt=""&gt;&lt;/p&gt;</description>
      <author>babyhai</author>
      <pubDate>Fri, 12 Jan 2018 18:20:38 +0800</pubDate>
      <link>https://ruby-china.org/topics/34875</link>
      <guid>https://ruby-china.org/topics/34875</guid>
    </item>
    <item>
      <title>部署 rails 项目使用 postgres 数据库 ，创建了数据库用户 这个普通用户却登录不了</title>
      <description>&lt;p&gt;我是按照 这个操作部署的   [使用 Puma 和 Nginx 部署 Rails 应用程序]&lt;a href="https://www.digitalocean.com/community/tutorials/how-to-deploy-a-rails-app-with-puma-and-nginx-on-ubuntu-14-04" rel="nofollow" target="_blank"&gt;https://www.digitalocean.com/community/tutorials/how-to-deploy-a-rails-app-with-puma-and-nginx-on-ubuntu-14-04&lt;/a&gt;) &lt;/p&gt;

&lt;p&gt;使用了  rbenv-vars  设置环境变量；
操作  这一步出错了：&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="no"&gt;RAILS_ENV&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;production&lt;/span&gt; &lt;span class="n"&gt;rake&lt;/span&gt; &lt;span class="n"&gt;db&lt;/span&gt;&lt;span class="ss"&gt;:create&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;报错信息是：&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="no"&gt;FATAL&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;  &lt;span class="n"&gt;password&lt;/span&gt; &lt;span class="n"&gt;authentication&lt;/span&gt; &lt;span class="n"&gt;failed&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;user&lt;/span&gt; &lt;span class="s2"&gt;"APPNAME_DATABASE_USER=haley"&lt;/span&gt;
&lt;span class="no"&gt;Couldn&lt;/span&gt;&lt;span class="err"&gt;'&lt;/span&gt;&lt;span class="n"&gt;t&lt;/span&gt; &lt;span class="n"&gt;create&lt;/span&gt; &lt;span class="n"&gt;database&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="s2"&gt;"adapter"&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="s2"&gt;"postgresql"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"encoding"&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="s2"&gt;"utf8"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"pool"&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"username"&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="s2"&gt;"APPNAME_DATABASE_USER=haley"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"password"&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="s2"&gt;"APPNAME_DATABASE_PASSWORD=foobar"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"database"&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="s2"&gt;"appname_production"&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="n"&gt;rake&lt;/span&gt; &lt;span class="n"&gt;aborted!&lt;/span&gt;
&lt;span class="no"&gt;PG&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;ConnectionBad&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="no"&gt;FATAL&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;  &lt;span class="n"&gt;password&lt;/span&gt; &lt;span class="n"&gt;authentication&lt;/span&gt; &lt;span class="n"&gt;failed&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;user&lt;/span&gt; &lt;span class="s2"&gt;"APPNAME_DATABASE_USER=haley"&lt;/span&gt;

&lt;span class="no"&gt;Tasks&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="no"&gt;TOP&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;db&lt;/span&gt;&lt;span class="ss"&gt;:create&lt;/span&gt;
&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="no"&gt;See&lt;/span&gt; &lt;span class="n"&gt;full&lt;/span&gt; &lt;span class="n"&gt;trace&lt;/span&gt; &lt;span class="n"&gt;by&lt;/span&gt; &lt;span class="n"&gt;running&lt;/span&gt; &lt;span class="n"&gt;task&lt;/span&gt; &lt;span class="n"&gt;with&lt;/span&gt; &lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;trace&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;这是 postgres 数据库的配置文件：  [/var/lib/pgsql/9.5/data/pg_hba.conf]&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="c1"&gt;# TYPE  DATABASE        USER            ADDRESS                 METHOD&lt;/span&gt;

&lt;span class="c1"&gt;# "local" is for Unix domain socket connections only&lt;/span&gt;
&lt;span class="n"&gt;local&lt;/span&gt;   &lt;span class="n"&gt;all&lt;/span&gt;             &lt;span class="n"&gt;all&lt;/span&gt;                                     &lt;span class="n"&gt;md5&lt;/span&gt;
&lt;span class="c1"&gt;# IPv4 local connections:&lt;/span&gt;
&lt;span class="n"&gt;host&lt;/span&gt;    &lt;span class="n"&gt;all&lt;/span&gt;             &lt;span class="n"&gt;all&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="o"&gt;/&lt;/span&gt;&lt;span class="mi"&gt;32&lt;/span&gt;            &lt;span class="n"&gt;trust&lt;/span&gt;
&lt;span class="n"&gt;host&lt;/span&gt;    &lt;span class="n"&gt;all&lt;/span&gt;             &lt;span class="n"&gt;all&lt;/span&gt;             &lt;span class="mf"&gt;65.49&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mf"&gt;212.216&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="mi"&gt;32&lt;/span&gt;        &lt;span class="n"&gt;trust&lt;/span&gt;

&lt;span class="c1"&gt;# IPv6 local connections:&lt;/span&gt;
&lt;span class="n"&gt;host&lt;/span&gt;    &lt;span class="n"&gt;all&lt;/span&gt;             &lt;span class="n"&gt;all&lt;/span&gt;             &lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="mi"&gt;128&lt;/span&gt;                 &lt;span class="n"&gt;ident&lt;/span&gt;
&lt;span class="c1"&gt;# Allow replication connections from localhost, by a user with the&lt;/span&gt;
&lt;span class="c1"&gt;# replication privilege.&lt;/span&gt;
&lt;span class="c1"&gt;#local   replication     postgres                                peer&lt;/span&gt;
&lt;span class="c1"&gt;#host    replication     postgres        127.0.0.1/32            ident&lt;/span&gt;
&lt;span class="c1"&gt;#host    replication     postgres        ::1/128                 ident&lt;/span&gt;


&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;新建的 haley 用户 登录也提示错误&lt;/p&gt;

&lt;p&gt;这么登录会报错  su - haley&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;baby&lt;/span&gt;&lt;span class="vi"&gt;@host&lt;/span&gt; &lt;span class="n"&gt;appname&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="err"&gt;$&lt;/span&gt; &lt;span class="n"&gt;su&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="n"&gt;haley&lt;/span&gt;
&lt;span class="no"&gt;Password&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;span class="ss"&gt;su: &lt;/span&gt;&lt;span class="no"&gt;Authentication&lt;/span&gt; &lt;span class="n"&gt;failure&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;这么登录不需要输入  [数据库用户：haley]  的密码，需要输入 baby 用户的密码   [baby 是我的 centos 系统中的普通用户，不是数据库用户]&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;baby&lt;/span&gt;&lt;span class="vi"&gt;@host&lt;/span&gt; &lt;span class="n"&gt;appname&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="err"&gt;$&lt;/span&gt; &lt;span class="n"&gt;sudo&lt;/span&gt; &lt;span class="n"&gt;su&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="n"&gt;haley&lt;/span&gt;
&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;sudo&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="n"&gt;password&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="ss"&gt;baby:
&lt;/span&gt;&lt;span class="no"&gt;Last&lt;/span&gt; &lt;span class="ss"&gt;login: &lt;/span&gt;&lt;span class="no"&gt;Tue&lt;/span&gt; &lt;span class="no"&gt;Jan&lt;/span&gt;  &lt;span class="mi"&gt;9&lt;/span&gt; &lt;span class="mo"&gt;04&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;18&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mo"&gt;05&lt;/span&gt; &lt;span class="no"&gt;EST&lt;/span&gt; &lt;span class="mi"&gt;2018&lt;/span&gt; &lt;span class="n"&gt;on&lt;/span&gt; &lt;span class="n"&gt;pts&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;
&lt;span class="no"&gt;Last&lt;/span&gt; &lt;span class="n"&gt;failed&lt;/span&gt; &lt;span class="ss"&gt;login: &lt;/span&gt;&lt;span class="no"&gt;Tue&lt;/span&gt; &lt;span class="no"&gt;Jan&lt;/span&gt;  &lt;span class="mi"&gt;9&lt;/span&gt; &lt;span class="mo"&gt;04&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;50&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;30&lt;/span&gt; &lt;span class="no"&gt;EST&lt;/span&gt; &lt;span class="mi"&gt;2018&lt;/span&gt; &lt;span class="n"&gt;on&lt;/span&gt; &lt;span class="n"&gt;pts&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;
&lt;span class="no"&gt;There&lt;/span&gt; &lt;span class="n"&gt;was&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="n"&gt;failed&lt;/span&gt; &lt;span class="n"&gt;login&lt;/span&gt; &lt;span class="n"&gt;attempt&lt;/span&gt; &lt;span class="n"&gt;since&lt;/span&gt; &lt;span class="n"&gt;the&lt;/span&gt; &lt;span class="n"&gt;last&lt;/span&gt; &lt;span class="n"&gt;successful&lt;/span&gt; &lt;span class="n"&gt;login&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;
&lt;span class="nf"&gt;[&lt;/span&gt;&lt;span class="n"&gt;haley&lt;/span&gt;&lt;span class="vi"&gt;@host&lt;/span&gt; &lt;span class="o"&gt;~&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="err"&gt;$&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;求解 是哪里出了问题？  &lt;/p&gt;</description>
      <author>babyhai</author>
      <pubDate>Tue, 09 Jan 2018 17:49:30 +0800</pubDate>
      <link>https://ruby-china.org/topics/34861</link>
      <guid>https://ruby-china.org/topics/34861</guid>
    </item>
    <item>
      <title>CentOS 7 上 使用 Thin + Nginx 部署 Rails 应用程序出错</title>
      <description>&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="n"&gt;ruby&lt;/span&gt;  &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mf"&gt;2.3&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;
&lt;span class="n"&gt;rails&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mf"&gt;5.1&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;
&lt;span class="n"&gt;nginx&lt;/span&gt;  &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mf"&gt;1.0&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;
&lt;span class="n"&gt;mysql&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mf"&gt;5.7&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;注明：我是按照 这个操作的 (&lt;a href="http://web.siwei.tech/part3_rails_premier/rails_thin_deploy.html" rel="nofollow" target="_blank"&gt;http://web.siwei.tech/part3_rails_premier/rails_thin_deploy.html&lt;/a&gt;) &lt;/p&gt;

&lt;p&gt;描述一下我的问题，配置了 nginx.conf  文件 rails 项目的地址  thin.yml 配置文件也写了 但是访问还是显示的
是 nginx 的欢迎页面：&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="c1"&gt;# config/thim.yml&lt;/span&gt;

  &lt;span class="ss"&gt;chdir: &lt;/span&gt;&lt;span class="sr"&gt;/www/&lt;/span&gt;&lt;span class="no"&gt;Mylog&lt;/span&gt;   &lt;span class="c1"&gt;# 你的rails 应用的所在目录&lt;/span&gt;
   &lt;span class="ss"&gt;environment: &lt;/span&gt;&lt;span class="n"&gt;production&lt;/span&gt;    &lt;span class="c1"&gt;# 指定了 是 production模式&lt;/span&gt;
   &lt;span class="ss"&gt;address: &lt;/span&gt;&lt;span class="mf"&gt;0.0&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mf"&gt;0.0&lt;/span&gt;
   &lt;span class="ss"&gt;port: &lt;/span&gt;&lt;span class="mi"&gt;8000&lt;/span&gt;                 &lt;span class="c1"&gt;# 端口号。&lt;/span&gt;
   &lt;span class="ss"&gt;timeout: &lt;/span&gt;&lt;span class="mi"&gt;30&lt;/span&gt;
   &lt;span class="ss"&gt;log: &lt;/span&gt;&lt;span class="n"&gt;log&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;thin&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;
   &lt;span class="ss"&gt;pid: &lt;/span&gt;&lt;span class="n"&gt;tmp&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;pids&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;thin&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;pid&lt;/span&gt;
   &lt;span class="ss"&gt;max_conns: &lt;/span&gt;&lt;span class="mi"&gt;1024&lt;/span&gt;
   &lt;span class="ss"&gt;max_persistent_conns: &lt;/span&gt;&lt;span class="mi"&gt;100&lt;/span&gt;
   &lt;span class="ss"&gt;require: &lt;/span&gt;&lt;span class="p"&gt;[]&lt;/span&gt;
   &lt;span class="ss"&gt;wait: &lt;/span&gt;&lt;span class="mi"&gt;30&lt;/span&gt;
   &lt;span class="ss"&gt;servers: &lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;          &lt;span class="c1"&gt;# 很重要。希望启动的thin 的进程数。&lt;/span&gt;
   &lt;span class="ss"&gt;daemonize: &lt;/span&gt;&lt;span class="kp"&gt;true&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="c1"&gt;#    config/secrets.yml&lt;/span&gt;
  &lt;span class="n"&gt;production模式下的字符串是随意加的&lt;/span&gt;
&lt;span class="ss"&gt;development:
  secret_key_base: &lt;/span&gt;&lt;span class="n"&gt;e4122773d4324fce978c52cde790d84d14f7194f377aea41b7b8302d1d10150e6076a3b7e5e0c1f24ca330cf0a058482c9&lt;/span&gt;

 &lt;span class="ss"&gt;test:
   secret_key_base: &lt;/span&gt;&lt;span class="n"&gt;e4122773d4324fce978c52cde790d84d14f7194f377aea41b7b8302d1d10150e6076a3b7e5e0c1f24ca330cf0a058482c9&lt;/span&gt;

  &lt;span class="ss"&gt;production:
    secret_key_base: &lt;/span&gt;&lt;span class="n"&gt;a1b2c3d4a5d6e4122773d4324fce978c52cde790d84d14f7194f377aea41b7b8302d1d10150e60&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="c1"&gt;#  confi/ database.yml&lt;/span&gt;

&lt;span class="ss"&gt;default: &lt;/span&gt;&lt;span class="o"&gt;&amp;amp;&lt;/span&gt;&lt;span class="n"&gt;default&lt;/span&gt;
   &lt;span class="ss"&gt;adapter: &lt;/span&gt;&lt;span class="n"&gt;mysql2&lt;/span&gt;
    &lt;span class="ss"&gt;encoding: &lt;/span&gt;&lt;span class="n"&gt;utf8&lt;/span&gt;
    &lt;span class="ss"&gt;pool: &lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt;
    &lt;span class="ss"&gt;username: &lt;/span&gt;&lt;span class="n"&gt;root&lt;/span&gt;
    &lt;span class="ss"&gt;password: &lt;/span&gt;&lt;span class="n"&gt;youshe&lt;/span&gt;
   &lt;span class="ss"&gt;host: &lt;/span&gt;&lt;span class="n"&gt;localhost&lt;/span&gt;

  &lt;span class="ss"&gt;development:
    &lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="n"&gt;default&lt;/span&gt;
    &lt;span class="ss"&gt;database: &lt;/span&gt;&lt;span class="n"&gt;mylog_development&lt;/span&gt;


 &lt;span class="ss"&gt;test:
    &lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="n"&gt;default&lt;/span&gt;
    &lt;span class="ss"&gt;database: &lt;/span&gt;&lt;span class="n"&gt;mylog_test&lt;/span&gt;

&lt;span class="ss"&gt;production:
   &lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="n"&gt;default&lt;/span&gt;
   &lt;span class="ss"&gt;database: &lt;/span&gt;&lt;span class="n"&gt;mylog_development&lt;/span&gt;
   &lt;span class="ss"&gt;username: &lt;/span&gt;&lt;span class="n"&gt;root&lt;/span&gt;
   &lt;span class="ss"&gt;password: &lt;/span&gt;&lt;span class="n"&gt;youshe&lt;/span&gt;


&lt;/code&gt;&lt;/pre&gt;&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="c1"&gt;#   config/environments/production.rb&lt;/span&gt;

&lt;span class="no"&gt;Cms&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;Application&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;configure&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
    &lt;span class="c1"&gt;# 不让 rails 来处理 /assets 开头的 url, 这些要交给nginx来处理.&lt;/span&gt;
    &lt;span class="n"&gt;config&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;serve_static_assets&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kp"&gt;false&lt;/span&gt;
&lt;span class="k"&gt;end&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="c1"&gt;#   opt/nginx/nginx-1.0.10/conf/nginx.conf  (nginx 我是源码编译 安装在opt下面)&lt;/span&gt;
&lt;span class="n"&gt;user&lt;/span&gt;  &lt;span class="n"&gt;mandy&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="n"&gt;worker_processes&lt;/span&gt;  &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="c1"&gt;#error_log  logs/error.log;&lt;/span&gt;
&lt;span class="c1"&gt;#error_log  logs/error.log  notice;&lt;/span&gt;
&lt;span class="c1"&gt;#error_log  logs/error.log  info;&lt;/span&gt;

&lt;span class="c1"&gt;# pid        logs/nginx.pid;&lt;/span&gt;


&lt;span class="n"&gt;events&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="n"&gt;worker_connections&lt;/span&gt;  &lt;span class="mi"&gt;1024&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;


&lt;span class="n"&gt;http&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="kp"&gt;include&lt;/span&gt;       &lt;span class="n"&gt;mime&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;types&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="n"&gt;default_type&lt;/span&gt;  &lt;span class="n"&gt;application&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;octet&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;stream&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

    &lt;span class="c1"&gt;#log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '&lt;/span&gt;
    &lt;span class="c1"&gt;#                  '$status $body_bytes_sent "$http_referer" '&lt;/span&gt;
    &lt;span class="c1"&gt;#                  '"$http_user_agent" "$http_x_forwarded_for"';&lt;/span&gt;

    &lt;span class="c1"&gt;#access_log  logs/access.log  main;&lt;/span&gt;

    &lt;span class="n"&gt;sendfile&lt;/span&gt;        &lt;span class="n"&gt;on&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="c1"&gt;#tcp_nopush     on;&lt;/span&gt;

    &lt;span class="c1"&gt;#keepalive_timeout  0;&lt;/span&gt;
    &lt;span class="n"&gt;keepalive_timeout&lt;/span&gt;  &lt;span class="mi"&gt;65&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

   &lt;span class="c1"&gt;#gzip  on;&lt;/span&gt;

    &lt;span class="n"&gt;server&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="n"&gt;listen&lt;/span&gt;       &lt;span class="mi"&gt;80&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="n"&gt;server_name&lt;/span&gt;  &lt;span class="n"&gt;athonna&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;com&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

        &lt;span class="n"&gt;charset&lt;/span&gt; &lt;span class="n"&gt;utf&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;8&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="n"&gt;root&lt;/span&gt;  &lt;span class="sr"&gt;/www/&lt;/span&gt;&lt;span class="no"&gt;Mylog&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="kp"&gt;public&lt;/span&gt;&lt;span class="sr"&gt;/;

        access_log  logs/&lt;/span&gt;&lt;span class="n"&gt;access&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="n"&gt;error_log&lt;/span&gt;  &lt;span class="n"&gt;logs&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;error&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

        &lt;span class="n"&gt;location&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;

             &lt;span class="n"&gt;proxy_pass&lt;/span&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="n"&gt;athonna_servers&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
             &lt;span class="n"&gt;proxy_redirect&lt;/span&gt;      &lt;span class="n"&gt;default&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

             &lt;span class="n"&gt;proxy_set_header&lt;/span&gt;    &lt;span class="no"&gt;X&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="no"&gt;Forwarded&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="no"&gt;For&lt;/span&gt; &lt;span class="vg"&gt;$proxy_add_x_forwarded_for&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
             &lt;span class="n"&gt;proxy_set_header&lt;/span&gt;    &lt;span class="no"&gt;X&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="no"&gt;Real&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="no"&gt;IP&lt;/span&gt; &lt;span class="vg"&gt;$remote_addr&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
             &lt;span class="n"&gt;proxy_set_header&lt;/span&gt;    &lt;span class="no"&gt;Host&lt;/span&gt; &lt;span class="vg"&gt;$http_host&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
             &lt;span class="n"&gt;proxy_next_upstream&lt;/span&gt; &lt;span class="n"&gt;http_502&lt;/span&gt; &lt;span class="n"&gt;http_504&lt;/span&gt; &lt;span class="n"&gt;error&lt;/span&gt; &lt;span class="n"&gt;timeout&lt;/span&gt; &lt;span class="n"&gt;invalid_header&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
         &lt;span class="p"&gt;}&lt;/span&gt;

         &lt;span class="c1"&gt;#error_page  404              /404.html;&lt;/span&gt;
        &lt;span class="c1"&gt;# redirect server error pages to the static page /50x.html&lt;/span&gt;

        &lt;span class="n"&gt;location&lt;/span&gt; &lt;span class="o"&gt;~&lt;/span&gt; &lt;span class="o"&gt;^&lt;/span&gt;&lt;span class="sr"&gt;/assets/&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;

          &lt;span class="c1"&gt;# 表示 处理这些请求的话,应该从哪个文件夹开始&lt;/span&gt;
          &lt;span class="n"&gt;root&lt;/span&gt;  &lt;span class="sr"&gt;/www/&lt;/span&gt;&lt;span class="no"&gt;Mylog&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="kp"&gt;public&lt;/span&gt;&lt;span class="sr"&gt;/;
          expires 1y;
          add_header Cache-Control public;
          add_header ETag "";
          break;
        }

    }
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;我想问问 是哪里有问题呢 我使用 thin 的 development   -p 8000   这么访问是没问题可以访问的&lt;/p&gt;

&lt;p&gt;然后 换成  bundle exec thin start  -p 8000  -e  production  也可以访问 图片都能显示出来 ,但是在 config/environments/production.rb 中加了&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="c1"&gt;#  config/environments/production.rb&lt;/span&gt;

&lt;span class="no"&gt;Cms&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;Application&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;configure&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
    &lt;span class="c1"&gt;# 不让 rails 来处理 /assets 开头的 url, 这些要交给nginx来处理.&lt;/span&gt;
    &lt;span class="n"&gt;config&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;serve_static_assets&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kp"&gt;false&lt;/span&gt;
&lt;span class="k"&gt;end&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;就不在显示 图片了 ,后面把这个注释掉 也还是不显示图片 css 这些&lt;/p&gt;</description>
      <author>babyhai</author>
      <pubDate>Sat, 01 Jul 2017 08:49:31 +0800</pubDate>
      <link>https://ruby-china.org/topics/33373</link>
      <guid>https://ruby-china.org/topics/33373</guid>
    </item>
    <item>
      <title>论坛里面写文章 该怎么区分 这个文章属于那个分类</title>
      <description>&lt;p&gt;我把文章写了 几个分类  下面是路由&lt;/p&gt;

&lt;p&gt;group/node12   # html+css
group/node16   # java
group/node23  # 功能测试&lt;/p&gt;

&lt;p&gt;在 group /new 页面写文章 该怎么 在 node16 这个路由显示所以的 java 文章 而又把所有的文章又显示在 group/index
我看了 ruby-china 上的  还是不大明白&lt;/p&gt;</description>
      <author>babyhai</author>
      <pubDate>Thu, 29 Jun 2017 20:38:07 +0800</pubDate>
      <link>https://ruby-china.org/topics/33361</link>
      <guid>https://ruby-china.org/topics/33361</guid>
    </item>
    <item>
      <title>给话题添加评论功能报错</title>
      <description>&lt;h2 id="我的环境："&gt;我的环境：&lt;/h2&gt;&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="n"&gt;ruby&lt;/span&gt;   &lt;span class="mf"&gt;2.3&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;
&lt;span class="no"&gt;Rails&lt;/span&gt;   &lt;span class="mf"&gt;5.0&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;
&lt;span class="n"&gt;centos&lt;/span&gt;  &lt;span class="mf"&gt;7.1&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="这是我的 comment（评论）  controller"&gt;这是我的 comment（评论）controller&lt;/h2&gt;&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="k"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;CommentsController&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="no"&gt;ApplicationController&lt;/span&gt;
  &lt;span class="n"&gt;before_action&lt;/span&gt; &lt;span class="ss"&gt;:authenticate_user!&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;only: &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="ss"&gt;:new&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:destroy&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;


  &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;new&lt;/span&gt;
    &lt;span class="vi"&gt;@user&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;User&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;find&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;current_user&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;#当前用户&lt;/span&gt;
    &lt;span class="vi"&gt;@group&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="vi"&gt;@user.group.find&lt;/span&gt; &lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="ss"&gt;:group_id&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
    &lt;span class="vi"&gt;@comment&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;Group&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;comment&lt;/span&gt;&lt;span class="p"&gt;.&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="c1"&gt;#@content = commentabel_record.comment.create params[:comment]&lt;/span&gt;
    &lt;span class="vi"&gt;@user&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;User&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;find&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;current_user&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;#当前用户&lt;/span&gt;
    &lt;span class="vi"&gt;@group&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="vi"&gt;@user.group.find&lt;/span&gt; &lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="ss"&gt;:group_id&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;

    &lt;span class="vi"&gt;@comment&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="vi"&gt;@group.comments.build&lt;/span&gt; &lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="ss"&gt;:comment&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
    &lt;span class="vi"&gt;@comment.user&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="vi"&gt;@user&lt;/span&gt;


    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="vi"&gt;@comment.save&lt;/span&gt;
      &lt;span class="n"&gt;redirect_to&lt;/span&gt; &lt;span class="n"&gt;commentabel_record&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;notice: &lt;/span&gt;&lt;span class="s1"&gt;'创建评论成功'&lt;/span&gt;
    &lt;span class="k"&gt;else&lt;/span&gt;
      &lt;span class="n"&gt;redirect_to&lt;/span&gt; &lt;span class="n"&gt;commentabel_record&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;notice: &lt;/span&gt;&lt;span class="s1"&gt;'创建评论失败'&lt;/span&gt;
    &lt;span class="k"&gt;end&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;destroy&lt;/span&gt;
    &lt;span class="vi"&gt;@comment&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;commentable_record&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;comments&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;find&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="ss"&gt;:id&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;@comment.user&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="n"&gt;current_user&lt;/span&gt; &lt;span class="ow"&gt;or&lt;/span&gt; &lt;span class="n"&gt;current_user&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;id&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;
      &lt;span class="vi"&gt;@comment.destroy&lt;/span&gt;
    &lt;span class="k"&gt;end&lt;/span&gt;

    &lt;span class="n"&gt;redirect_to&lt;/span&gt; &lt;span class="n"&gt;commentable_record&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:notice&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'成功删除评论 '&lt;/span&gt;
  &lt;span class="k"&gt;end&lt;/span&gt;


  &lt;span class="kp"&gt;protected&lt;/span&gt;
  &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;commentable_record&lt;/span&gt;
    &lt;span class="no"&gt;Group&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;find&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="ss"&gt;:group_id&lt;/span&gt;&lt;span class="p"&gt;])&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;h2 id="这是我的 group（话题）  的show页面"&gt;这是我的 group（话题）的 show 页面&lt;/h2&gt;&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;div&lt;/span&gt; &lt;span class="k"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"container"&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="n"&gt;div&lt;/span&gt; &lt;span class="k"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"row"&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="n"&gt;div&lt;/span&gt; &lt;span class="k"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"col-md-8"&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="n"&gt;div&lt;/span&gt; &lt;span class="nb"&gt;id&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"main-content"&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="nb"&gt;p&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="sx"&gt;%= markdown(@group.title)%&amp;gt;&amp;lt;/p&amp;gt;
        &amp;lt;p&amp;gt;&amp;lt;%=&lt;/span&gt; &lt;span class="n"&gt;markdown&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="vi"&gt;@group.description&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;%&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/p&amp;gt;
      &amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;div&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;%= link_to '编辑', edit_group_path(@group)%&amp;gt;
      &amp;lt;%=&lt;/span&gt; &lt;span class="n"&gt;link_to&lt;/span&gt; &lt;span class="s1"&gt;'删除'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;group_path&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="vi"&gt;@group&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
        &lt;span class="ss"&gt;method: :delete&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="ss"&gt;data: &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="ss"&gt;confirm: &lt;/span&gt;&lt;span class="s1"&gt;'确定删除该话题?'&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
      &lt;span class="sx"&gt;%&amp;gt;
    &amp;lt;/div&amp;gt;&lt;/span&gt;
      &lt;span class="o"&gt;&amp;lt;!--&lt;/span&gt; &lt;span class="n"&gt;显示话题评论&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;%= render @group.comments %&amp;gt;
      &amp;lt;!--  评论表单--&amp;gt;
      &amp;lt;div class=&lt;/span&gt;&lt;span class="s2"&gt;"comment-area"&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;%= render 'comments/form' %&amp;gt;&amp;lt;/br&amp;gt;
      &amp;lt;/div&amp;gt;
    &amp;lt;/div&amp;gt;
  &amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;

&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="这是我的 comment（评论）  _form.html.erb"&gt;这是我的 comment（评论）_form.html.erb&lt;/h2&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;% if &lt;/span&gt;&lt;span class="n"&gt;user_signed_in?&lt;/span&gt; &lt;span class="sx"&gt;%&amp;gt;
  &amp;lt;%= form_for [@group, @groups.comments.build] do  |f| %&amp;gt;&lt;/span&gt;

    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;div&lt;/span&gt; &lt;span class="k"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"field"&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.label :评论 %&amp;gt;&amp;lt;/br&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;kindeditor&lt;/span&gt; &lt;span class="ss"&gt;:commenter&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="sr"&gt;/div&amp;gt;
      &amp;lt;%= hidden_field_tag(:group_id, @group.id) %&amp;gt;

    &amp;lt;div class="actions"&amp;gt;
      &amp;lt;%= f.submit "提交"%&amp;gt;
    &amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;div&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;% end &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;% else &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;%= link_to "登录后可以添加评论", new_user_session_path %&amp;gt;&amp;lt;/br&amp;gt;
  &amp;lt;% end %&amp;gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="这是我的  group.rb"&gt;这是我的  group.rb&lt;/h2&gt;&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="k"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;Group&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="no"&gt;ActiveRecord&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;Base&lt;/span&gt;
  &lt;span class="n"&gt;belongs_to&lt;/span&gt; &lt;span class="ss"&gt;:user&lt;/span&gt;
  &lt;span class="n"&gt;validates&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;presence: &lt;/span&gt;&lt;span class="kp"&gt;true&lt;/span&gt;

  &lt;span class="n"&gt;has_many&lt;/span&gt; &lt;span class="ss"&gt;:comments&lt;/span&gt;

  &lt;span class="n"&gt;has_many&lt;/span&gt; &lt;span class="ss"&gt;:group_relationships&lt;/span&gt;
  &lt;span class="n"&gt;has_many&lt;/span&gt; &lt;span class="ss"&gt;:members&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;through: :group_relationships&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;source: :user&lt;/span&gt;

  &lt;span class="n"&gt;default_scope&lt;/span&gt;  &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="n"&gt;order&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="ss"&gt;created_at: &lt;/span&gt;&lt;span class="s1"&gt;'DESC'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="c1"&gt;# order: 'articles.created_at DESC'&lt;/span&gt;
&lt;span class="k"&gt;end&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="这是我的  comment.rb"&gt;这是我的  comment.rb&lt;/h2&gt;&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="k"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;Comment&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="no"&gt;ActiveRecord&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;Base&lt;/span&gt;
  &lt;span class="n"&gt;belongs_to&lt;/span&gt; &lt;span class="ss"&gt;:group&lt;/span&gt;
  &lt;span class="n"&gt;belongs_to&lt;/span&gt; &lt;span class="ss"&gt;:user&lt;/span&gt;

  &lt;span class="n"&gt;default_scope&lt;/span&gt;  &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="n"&gt;order&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="ss"&gt;created_at: &lt;/span&gt;&lt;span class="s1"&gt;'DESC'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="c1"&gt;# order: 'comments.created_at DESC'&lt;/span&gt;

&lt;span class="k"&gt;end&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="这是我的   routes"&gt;这是我的   routes&lt;/h2&gt;&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="no"&gt;Rails&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;application&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;routes&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;draw&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;

  &lt;span class="n"&gt;devise_for&lt;/span&gt; &lt;span class="ss"&gt;:users&lt;/span&gt;

  &lt;span class="n"&gt;root&lt;/span&gt; &lt;span class="s1"&gt;'groups#index'&lt;/span&gt;

  &lt;span class="n"&gt;resources&lt;/span&gt; &lt;span class="ss"&gt;:groups&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
    &lt;span class="n"&gt;member&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
      &lt;span class="n"&gt;post&lt;/span&gt; &lt;span class="ss"&gt;:comments&lt;/span&gt;
    &lt;span class="k"&gt;end&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;h3 id="comment表中  有  commenter     user_id       group_id  这些字段"&gt;comment 表中  有  commenter     user_id       group_id  这些字段&lt;/h3&gt;
&lt;p&gt;这是报错信息：&lt;img src="https://l.ruby-china.com/photo/2017/fe248710-1fe8-4741-b3c3-32fb75c401ed.png!large" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;在这之前一直报错 comment 参数不能为空或 niu  怎么试  都是这个错误 然后我看了 guides（&lt;a href="http://guides.ruby-china.org/getting_started.html#creating-the-blog-application" rel="nofollow" target="_blank"&gt;http://guides.ruby-china.org/getting_started.html#creating-the-blog-application&lt;/a&gt; ）然后修改了_form.html.erb 然后就报现在的错。
我项目的代码地址： &lt;a href="https://github.com/babyhai/makeyuan" rel="nofollow" target="_blank"&gt;https://github.com/babyhai/makeyuan&lt;/a&gt;
还请各位朋友帮忙看看&lt;/p&gt;</description>
      <author>babyhai</author>
      <pubDate>Fri, 02 Jun 2017 09:53:56 +0800</pubDate>
      <link>https://ruby-china.org/topics/33118</link>
      <guid>https://ruby-china.org/topics/33118</guid>
    </item>
    <item>
      <title>在创建项目的过程中 写 create  update 的时候 老是会报 未定义的方法这样的错误  很奇怪的问题 目前还没找到答案所以请问一下大神</title>
      <description>&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="n"&gt;ruby版本号&lt;/span&gt;&lt;span class="err"&gt;：&lt;/span&gt; &lt;span class="mf"&gt;2.3&lt;/span&gt;
&lt;span class="n"&gt;rails版本号&lt;/span&gt; &lt;span class="err"&gt;：&lt;/span&gt; &lt;span class="mf"&gt;5.0&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;这是我写的 controller&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="k"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;BooksController&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="no"&gt;ApplicationController&lt;/span&gt;
  &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;index&lt;/span&gt;
    &lt;span class="vi"&gt;@books&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;Book&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;all&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;new&lt;/span&gt;
    &lt;span class="vi"&gt;@book&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;Book&lt;/span&gt;&lt;span class="p"&gt;.&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="no"&gt;Book&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;create&lt;/span&gt; &lt;span class="ss"&gt;:title&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="ss"&gt;:book&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;:author&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="ss"&gt;:book&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="ss"&gt;:author&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;

    &lt;span class="n"&gt;redirect_to&lt;/span&gt; &lt;span class="n"&gt;books_path&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;edit&lt;/span&gt;
    &lt;span class="vi"&gt;@book&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;Book&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;find&lt;/span&gt; &lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="ss"&gt;:id&lt;/span&gt;&lt;span class="p"&gt;]&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;update&lt;/span&gt;
    &lt;span class="vi"&gt;@Book.update&lt;/span&gt; &lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="ss"&gt;:book&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
    &lt;span class="n"&gt;redirect_to&lt;/span&gt; &lt;span class="n"&gt;books_path&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;这是编辑页&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="n"&gt;h2&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;编辑书籍&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/h2&amp;gt;

&amp;lt;%= form_for @book do |f| %&amp;gt;
  书名: &amp;lt;%= f.text_field :title %&amp;gt;&amp;lt;br/&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="n"&gt;作者&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sx"&gt;%= f.text_field :author %&amp;gt;&amp;lt;br/&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;% end %&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;这是首页&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="n"&gt;h2&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;首页&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/h2&amp;gt;

&amp;lt;table&amp;gt;
  &amp;lt;tr&amp;gt;
    &amp;lt;td&amp;gt;书名&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;td&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="n"&gt;td&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;作者&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/td&amp;gt;
    &amp;lt;td&amp;gt;操作&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;td&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="sr"&gt;/tr&amp;gt;
&amp;lt;% @books.each do |book| %&amp;gt;
  &amp;lt;tr&amp;gt;
    &amp;lt;td&amp;gt;&amp;lt;%= link_to book.title, book %&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;td&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="n"&gt;td&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="sx"&gt;%= book.author %&amp;gt;&amp;lt;/td&amp;gt;
    &amp;lt;td&amp;gt;
      &amp;lt;%=&lt;/span&gt; &lt;span class="n"&gt;link_to&lt;/span&gt; &lt;span class="s1"&gt;'编辑'&lt;/span&gt; &lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;edit_book_path&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="ss"&gt;:id&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;book&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;id&lt;/span&gt;&lt;span class="p"&gt;)&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;%= link_to '删除', book, :mothod =&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="ss"&gt;:delete&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="sr"&gt;/td&amp;gt;
  &amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;tr&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;% end &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;%= link_to '新建', new_book_path %&amp;gt;
&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="n"&gt;h2&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;新建图书&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/h2&amp;gt;

&amp;lt;%= form_for @book do |f| %&amp;gt;
   书名:&amp;lt;%= f.text_field :title %&amp;gt;&amp;lt;br/&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
   &lt;span class="n"&gt;作者&lt;/span&gt;&lt;span class="ss"&gt;:&amp;lt;&lt;/span&gt;&lt;span class="o"&gt;%=&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;text_field&lt;/span&gt; &lt;span class="ss"&gt;:author&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.submit %&amp;gt;
&amp;lt;% end %&amp;gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;服务器用的是 rails 内置的服务器 &lt;/p&gt;

&lt;p&gt;首先我把我遇到的几个问题讲出来
第一个问题 是 new 页面的问题  在我只写了&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="k"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;BooksController&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="no"&gt;ApplicationController&lt;/span&gt;
  &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;index&lt;/span&gt;
    &lt;span class="vi"&gt;@books&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;Book&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;all&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;new&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;new  并没有写 &lt;a href="/book" class="user-mention" title="@book"&gt;&lt;i&gt;@&lt;/i&gt;book&lt;/a&gt; = Book.new&lt;br&gt;
在首页 点击新建后 提示我
&lt;img src="https://l.ruby-china.com/photo/2017/c4ddab9fff5012e3e40be724e97d33ac.png!large" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;然后再  new 里面加了   &lt;a href="/book" class="user-mention" title="@book"&gt;&lt;i&gt;@&lt;/i&gt;book&lt;/a&gt; = Book.new    就没有这个报错了
这是第一个问题 &lt;/p&gt;

&lt;p&gt;第二个问题就是 create  我不清楚是否是我写的有问题  还是别的地方操作有误 才导致这个问题的
刚开始  create 写的是这样的&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;create&lt;/span&gt;
    &lt;span class="vi"&gt;@book.create&lt;/span&gt; &lt;span class="ss"&gt;:title&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="ss"&gt;:book&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;:author&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="ss"&gt;:book&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="ss"&gt;:author&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;这么写 报错提示：
&lt;img src="https://l.ruby-china.com/photo/2017/b11d457666df043d15f760bc841a5364.png!large" title="" alt=""&gt;
然后改成 
Book.create :title =&amp;gt; params[:book][:title],
        :author =&amp;gt; params[:book][:author]
又没有报错了，但是 在此之前我反复遇到过这个问题  第一次写的是 Book.create :title =&amp;gt; params[:book][:title],
        :author =&amp;gt; params[:book][:author]  它报错了   然后又改成 &lt;a href="/book.create" class="user-mention" title="@book.create"&gt;&lt;i&gt;@&lt;/i&gt;book.create&lt;/a&gt;  又没有报错了  现在又成这样  让我很困惑&lt;/p&gt;

&lt;p&gt;还有第三个问题 是 update   &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;update&lt;/span&gt;
   &lt;span class="vi"&gt;@Book.update&lt;/span&gt; &lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="ss"&gt;:book&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
   &lt;span class="n"&gt;redirect_to&lt;/span&gt; &lt;span class="n"&gt;books_path&lt;/span&gt;
 &lt;span class="k"&gt;end&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;之前也是这么写  并没有报错  然而再今天又报错了   上面说的  create  update  就是有时候 create 报错了  有可能 update 并没有报错  有时候 两个都会报错
然后我以为是我基础的没学好  把 guides 的 controller 都看完了  也没能明白 造成这些错误的原因是什么  然而我问过跟我一起学习的小伙伴  他们并没有遇到这样的错误  我们的写法都是一样的  但是我这边还是会有这个错误  我的是 centos  他们用的是 mac 的系统   希望有大神能帮我解答一下疑惑&lt;/p&gt;</description>
      <author>babyhai</author>
      <pubDate>Wed, 05 Apr 2017 16:31:02 +0800</pubDate>
      <link>https://ruby-china.org/topics/32697</link>
      <guid>https://ruby-china.org/topics/32697</guid>
    </item>
    <item>
      <title>在 index 页面定义了删除的请求方式 ，但是日志还是走的 get 请求 找不到原因请小伙伴帮帮忙</title>
      <description>&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="ss"&gt;ruby版本:  &lt;/span&gt;&lt;span class="mf"&gt;2.4&lt;/span&gt; 
&lt;span class="ss"&gt;rails版本:  &lt;/span&gt;&lt;span class="mf"&gt;5.0&lt;/span&gt;
&lt;span class="n"&gt;apache&lt;/span&gt; &lt;span class="n"&gt;版本&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;  &lt;span class="mf"&gt;2.4&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;6&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;这是我的路由文件：&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="no"&gt;Rails&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;application&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;routes&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;draw&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
  &lt;span class="n"&gt;resources&lt;/span&gt; &lt;span class="ss"&gt;:books&lt;/span&gt;
&lt;span class="k"&gt;end&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;这是 books_controller.rb&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="k"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;BooksController&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="no"&gt;ApplicationController&lt;/span&gt;
  &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;index&lt;/span&gt;
    &lt;span class="vi"&gt;@books&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;Book&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;all&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;new&lt;/span&gt;
    &lt;span class="nb"&gt;puts&lt;/span&gt; &lt;span class="s2"&gt;"=== params:"&lt;/span&gt;
    &lt;span class="nb"&gt;puts&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;inspect&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="no"&gt;Book&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;create&lt;/span&gt; &lt;span class="ss"&gt;:title&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;params&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;:author&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="ss"&gt;:author&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
    &lt;span class="n"&gt;redirect_to&lt;/span&gt; &lt;span class="n"&gt;books_path&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;edit&lt;/span&gt;
    &lt;span class="vi"&gt;@book&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;Book&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;find&lt;/span&gt; &lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="ss"&gt;:id&lt;/span&gt;&lt;span class="p"&gt;]&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;update&lt;/span&gt;
    &lt;span class="c1"&gt;#@book = Book.find params[:id]&lt;/span&gt;
    &lt;span class="c1"&gt;#@book.title = params[:title]&lt;/span&gt;
   &lt;span class="c1"&gt;# @book.author = params[:author]&lt;/span&gt;
    &lt;span class="c1"&gt;#@book.save&lt;/span&gt;
    &lt;span class="vi"&gt;@book.update&lt;/span&gt; &lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="ss"&gt;:book&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
    &lt;span class="n"&gt;redirect_to&lt;/span&gt; &lt;span class="n"&gt;books_path&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;show&lt;/span&gt;
    &lt;span class="vi"&gt;@book&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;Book&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;find&lt;/span&gt; &lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="ss"&gt;:id&lt;/span&gt;&lt;span class="p"&gt;]&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;destroy&lt;/span&gt;
    &lt;span class="nb"&gt;puts&lt;/span&gt; &lt;span class="s2"&gt;"=== params:"&lt;/span&gt;
    &lt;span class="nb"&gt;puts&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;inspect&lt;/span&gt;
    &lt;span class="vi"&gt;@book&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;Book&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;find&lt;/span&gt; &lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="ss"&gt;:id&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
    &lt;span class="vi"&gt;@book.delete&lt;/span&gt;
    &lt;span class="n"&gt;redirect_to&lt;/span&gt; &lt;span class="n"&gt;books_path&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;get_by_id&lt;/span&gt;
    &lt;span class="vi"&gt;@book&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;Book&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;find&lt;/span&gt; &lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="ss"&gt;:id&lt;/span&gt;&lt;span class="p"&gt;]&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;这是 index 列表页面：&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="n"&gt;h3&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="no"&gt;Book&lt;/span&gt; &lt;span class="n"&gt;列表页&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/h3&amp;gt;

&amp;lt;table&amp;gt;
  &amp;lt;tr&amp;gt;
    &amp;lt;td&amp;gt;标题&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;td&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="n"&gt;td&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;作者&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/td&amp;gt;
    &amp;lt;td&amp;gt;操作&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;td&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="n"&gt;tr&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;% @books.each &lt;/span&gt;&lt;span class="k"&gt;do&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt;&lt;span class="n"&gt;book&lt;/span&gt;&lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="sx"&gt;%&amp;gt;
  &amp;lt;tr&amp;gt;&lt;/span&gt;
    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;td&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="sx"&gt;%=link_to  book.title, book %&amp;gt;&amp;lt;/td&amp;gt;
    &amp;lt;td&amp;gt;&amp;lt;%=&lt;/span&gt; &lt;span class="n"&gt;book&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;author&lt;/span&gt; &lt;span class="sx"&gt;%&amp;gt;&amp;lt;/td&amp;gt;&lt;/span&gt;
    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;td&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;%= link_to "编辑", edit_book_path(:id =&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;book&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;id&lt;/span&gt;&lt;span class="p"&gt;)&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;%= link_to "删除", book, :method =&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="ss"&gt;:delete&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="sr"&gt;/td&amp;gt;
  &amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;tr&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="k"&gt;end&lt;/span&gt; &lt;span class="sx"&gt;%&amp;gt;

&amp;lt;%= link_to "新建", new_book_path %&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;这是编辑页 edit&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="n"&gt;h3&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;编辑页&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/h3&amp;gt;

&amp;lt;%=  form_for @book do |f| %&amp;gt;
    标题: &amp;lt;%= f.text_field :title %&amp;gt;&amp;lt;br/&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="n"&gt;作者&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sx"&gt;%= f.text_field :author %&amp;gt;&amp;lt;br/&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;% end %&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;这是我的详情页 show&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="n"&gt;h3&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;详情页&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/h3&amp;gt;&amp;lt;br/&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;

&lt;span class="n"&gt;书名&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sx"&gt;%= @book.title %&amp;gt;&amp;lt;br/&amp;gt;
作者: &amp;lt;%=&lt;/span&gt; &lt;span class="vi"&gt;@book.author&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;%= link_to '列表页', books_path %&amp;gt;

&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;然后 我说一下我遇到的问题，第一个就是再 index 页面 点击删除 它会自己跳转到详情页 
然后我的 books controller 里面 destroy 里面打印了 params 接受的参数  可是日志里面没有打印什么接受到的参数
在新建页 可以打印 params 接受的参数&lt;/p&gt;

&lt;p&gt;还有一个问题，我是看着视频跟着一步一步操作的，在编辑页 修改了作者的名字，然后提交了 回到列表页 显示 /book/4
我回到数据库中查看发现  这个 作者 跟书名 全部没有了&lt;/p&gt;

&lt;p&gt;&lt;img src="https://l.ruby-china.com/photo/2017/8213463e800109cac8bfcbb8b27ea655.png!large" title="" alt=""&gt;&lt;/p&gt;</description>
      <author>babyhai</author>
      <pubDate>Tue, 28 Mar 2017 16:04:25 +0800</pubDate>
      <link>https://ruby-china.org/topics/32652</link>
      <guid>https://ruby-china.org/topics/32652</guid>
    </item>
    <item>
      <title>在 views 中使用 each 方法提示未定义的方法报错了</title>
      <description>&lt;p&gt;这是我的 index 文件&lt;/p&gt;
&lt;pre class="highlight erb"&gt;&lt;code&gt;&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="vi"&gt;@books.each&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt;&lt;span class="n"&gt;book&lt;/span&gt;&lt;span class="o"&gt;|&lt;/span&gt;  &lt;span class="cp"&gt;%&amp;gt;&lt;/span&gt;
   &lt;span class="cp"&gt;&amp;lt;%=&lt;/span&gt;  &lt;span class="n"&gt;book&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;title&lt;/span&gt; &lt;span class="cp"&gt;%&amp;gt;&lt;/span&gt;,  &lt;span class="cp"&gt;&amp;lt;%=&lt;/span&gt; &lt;span class="n"&gt;book&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;author&lt;/span&gt; &lt;span class="cp"&gt;%&amp;gt;&lt;/span&gt;&lt;span class="nt"&gt;&amp;lt;br/&amp;gt;&lt;/span&gt;
&lt;span class="cp"&gt;&amp;lt;%&lt;/span&gt; &lt;span class="k"&gt;end&lt;/span&gt; &lt;span class="cp"&gt;%&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;这是 controller 文件&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="k"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;BooksController&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="no"&gt;ApplicationController&lt;/span&gt;

  &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;index&lt;/span&gt;
    &lt;span class="vi"&gt;@books&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;Book&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;all&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;这是报错
&lt;img src="https://l.ruby-china.com/photo/2017/6c15787d555be386c76b2ed19918f447.png!large" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;之前也创建过 books 项目练手 index 页面也是这么写的，都没有报错 我还拿之前的项目 index 代码跟这个比过   看是否能看出错误的地方  可是全部都一样    但是那个项目启动 不会报错有朋友遇到这个问题么 我想知道原因&lt;/p&gt;</description>
      <author>babyhai</author>
      <pubDate>Tue, 21 Mar 2017 16:35:54 +0800</pubDate>
      <link>https://ruby-china.org/topics/32597</link>
      <guid>https://ruby-china.org/topics/32597</guid>
    </item>
    <item>
      <title>Rails 学习心得 -- Ruby  on  Rails  架构的基础概念</title>
      <description>&lt;p&gt;这篇难度可能有点高 ,自己目前也在学习中 记录下来：&lt;/p&gt;
&lt;h3 id="HTTP Request(请求) 与HTTP Verb (HTTP动词)"&gt;HTTP Request(请求) 与 HTTP Verb (HTTP 动词)&lt;/h3&gt;
&lt;p&gt;是浏览器端跟网站的 server 之前存取资料的动作，每当我们输入网址，点击某个连结，都是代表
我们从浏览器端发出请求 (requst) 指令到网站 server 端，后者再以 request 的内容来回应资料给前者
也就是网页资料的呈现&lt;/p&gt;
&lt;h3 id="request只有四个动词(Verb)种类："&gt;request 只有四个动词 (Verb) 种类：&lt;/h3&gt;&lt;table class="table table-bordered table-striped"&gt;
&lt;tbody&gt;&lt;tr&gt;
&lt;th&gt;GET&lt;/th&gt;
&lt;th&gt;POST&lt;/th&gt;
&lt;th&gt;PUT&lt;/th&gt;
&lt;th&gt;DELETE&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;读取&lt;/td&gt;
&lt;td&gt;新增&lt;/td&gt;
&lt;td&gt;更新&lt;/td&gt;
&lt;td&gt;删除&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Read&lt;/td&gt;
&lt;td&gt;Create&lt;/td&gt;
&lt;td&gt;Update&lt;/td&gt;
&lt;td&gt;Destroy&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;绝大多数都是 GET，也就是跟 Server 端请求读取某个网址的资料&lt;/p&gt;

&lt;p&gt;有要更动到 server 里的资料，就会用到另外的三个动作
 当我们要用 Rails 做一个有 CRUD 功能 ( Create、Read、Update、Destroy ) 的讨论版
正好就对应到 HTTP Verb 上的四个动词&lt;/p&gt;
&lt;h3 id="MVC架构"&gt;MVC 架构&lt;/h3&gt;
&lt;p&gt;『网页』跟『网站』制作最大的差别，在于前者只有纯读取资讯的功能
后者可以运作 CRUD 功能，让系统功能强大
但从前者走向后者，整个系统的规划与运作就会变得非常庞大与复杂&lt;/p&gt;

&lt;p&gt;为了方便可以区分功能与团队分工合作将一个网站专案建立起来
近代的网站开发走向了 MVC 架构：&lt;/p&gt;
&lt;table class="table table-bordered table-striped"&gt;
&lt;tbody&gt;&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;Models&lt;/th&gt;
&lt;th&gt;Views&lt;/th&gt;
&lt;th&gt;Controllers&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;功能&lt;/td&gt;
&lt;td&gt;资料库相关&lt;/td&gt;
&lt;td&gt;前端网页呈现&lt;/td&gt;
&lt;td&gt;流程控制与运作&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;h5 id="优点是什么？"&gt;优点是什么？&lt;/h5&gt;
&lt;p&gt;可以把整个专案 (Project) 拆分
负责做前端的人只做 Views 
写流程控制的专心写 Controllers 
所有资料全部集中在 Models&lt;/p&gt;

&lt;p&gt;三者之间不互相打架，出问题与状况也容易追出问题的位置&lt;/p&gt;
&lt;h4 id="Ruby on Rails就是用Ruby这个程式语言写出来的网站MVC框架(Framework)"&gt;Ruby on Rails 就是用 Ruby 这个程式语言写出来的网站 MVC 框架 (Framework)&lt;/h4&gt;&lt;h3 id="Rails 的运作原理与流程"&gt;Rails 的运作原理与流程&lt;/h3&gt;
&lt;p&gt;&lt;img src="https://l.ruby-china.com/photo/2016/e9e80d6a60f95732e4acc0a27b14ed5e.png!large" title="" alt=""&gt;&lt;/p&gt;
&lt;h5 id="这张图可以清楚看出Rails是怎么跟使用者的浏览器互动来运作的"&gt;这张图可以清楚看出 Rails 是怎么跟使用者的浏览器互动来运作的&lt;/h5&gt;&lt;h5 id="如果我们拿上一章所做的Hello World! 来解释："&gt;如果我们拿上一章所做的 Hello World! 来解释：&lt;/h5&gt;&lt;h5 id="当我们输入首页网址这个指令，即是浏览器对server发出读取(GET)首页资料的请求(request)"&gt;当我们输入首页网址这个指令，即是浏览器对 server 发出读取 (GET) 首页资料的请求 (request)&lt;/h5&gt;&lt;h4 id="config/routes.rb 里已经设定好这个Request的工作"&gt;config/routes.rb 里已经设定好这个 Request 的工作&lt;/h4&gt;
&lt;p&gt;&lt;img src="https://l.ruby-china.com/photo/2016/0ee281fcc2ea1700431f31c7850b2f82.png!large" title="" alt=""&gt;&lt;/p&gt;
&lt;h4 id="Routing(路由)会把这个Request送到app/controllers/hello_controller.rb"&gt;Routing(路由) 会把这个 Request 送到 app/controllers/hello_controller.rb&lt;/h4&gt;
&lt;p&gt;并执行里面的 index 这个动作 (action)&lt;/p&gt;

&lt;p&gt;&lt;img src="https://l.ruby-china.com/photo/2016/79a2e9d3d52746ae104b14348451a3f4.png!large" title="" alt=""&gt;&lt;/p&gt;
&lt;h4 id="index action里目前没有存取资料库(Models部分)的动作，所以会跳至Views"&gt;index action 里目前没有存取资料库 (Models 部分) 的动作，所以会跳至 Views&lt;/h4&gt;
&lt;p&gt;把 app/views/layouts/application.html.erb 里网站主的样板抓出来
再把 app/views/hello/index.html.erb 里的资料抓出来，合并在前者的&amp;lt;%= yield %&amp;gt;区域里面&lt;/p&gt;
&lt;h4 id="专案开发与资讯安全问题"&gt;专案开发与资讯安全问题&lt;/h4&gt;&lt;h5 id="我们可以任意设定Action的命名，只要Request正确，就有相对应的动作"&gt;我们可以任意设定 Action 的命名，只要 Request 正确，就有相对应的动作&lt;/h5&gt;
&lt;p&gt;但太过自由的设计，会导致专案开发的灾难&lt;/p&gt;

&lt;p&gt;1.
 若无对 Request 动作分类做统一的规范，一样的 index action，可能会有不一样的内容
导致团队伙伴在开发时必须花时间阅读程式码的内容，也许这个 action 仅需花 1 分钟
可是 10 个伙伴，就会花费整个团队 10 分钟的时间在这件事上面&lt;/p&gt;

&lt;p&gt;2.
若伙伴或你本人刚做好一个新的 action，却发现这个功能之前就做过一个类似的... 
未来若又要沿用这个 action 做延伸功能，要嘛再重读一次之前的程式码，不然又要再重做一个新的 action ...&lt;/p&gt;

&lt;p&gt;3.
资讯安全问题，在新增，更新，删除某笔资料时，必须要有验证使用者权限的机制
延续 2nd，要怎么知道之前的伙伴是否有做？(花时间重读) 还是干脆做一个新的 (重复动作) 
又要怎么让资讯安全机制不会变成庞大工程，让团队精力专心在专案开发上？&lt;/p&gt;
&lt;h4 id="最佳解决方案： RESTful"&gt;最佳解决方案：RESTful&lt;/h4&gt;&lt;h4 id="Rails的基础RESTful概念"&gt;Rails 的基础 RESTful 概念&lt;/h4&gt;
&lt;p&gt;&lt;img src="https://l.ruby-china.com/photo/2016/0c983f279d1194ab347acd5df7caa616.png!large" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;由于 RESTful 是个很复杂的概念，号称学 Ruby on Rails 初期最大障碍
本篇尽量用浅显易懂的方式解释，如果想了解更多的请到后面的延伸阅读&lt;/p&gt;

&lt;p&gt;以下例子以假设做一个有 CRUD 功能的讨论版来解释：&lt;/p&gt;

&lt;p&gt;讨论版这个功能的名称：groups 
为了要控制它的运作，我们会创建一个新的 Controller 档案叫做 groups_controller.rb&lt;/p&gt;

&lt;p&gt;它是一个用 Ruby 写的程式，将好几个方法 (Method，或称函式) 组成的类别 (Class) 
以上概念不懂的请回头看 Ruby 学习心得：1 , 2 , 3&lt;/p&gt;

&lt;p&gt;每个 Method 刚好就是本篇文章一开始所说的动作 (action)&lt;/p&gt;

&lt;p&gt;HTTP Verb 有四个，除了读取 (GET) 以外，另外三个都有相对应的动作&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;新增 (create)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;更新 (update)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;删除 (destroy)&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;在这个功能里面，我们会做出四个页面出来：&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;首页 (index)：用来列出所有的讨论版，可以选择各个单版&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;各个讨论版专属页面 (show)：显示讨论版版名跟简介&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;修改页面 (Edit)：里面会有表单呈现现有资料来，填完资料后可以送出&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;新增页面 (New)：里面会有表单，填完以后可以送出&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;这七个 action，是每个 CRUD 功能里最基本的动作，缺一不可
只要我们在 controller.rb 里定义 (Define) 好这七个方法 (Method) 当作动作 (action)&lt;/p&gt;

&lt;p&gt;其他的部分 Rails 就会帮我们处理了
像是设定 Routing(路由) 只需要简单一行:
&lt;img src="https://l.ruby-china.com/photo/2016/ff66767fa69671272d7d69d663f33652.png!large" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;这样不管浏览器端跑来什么样的请求 (request)，Routing 都会聪明地帮我们导向正确的 action 去运作后续流程&lt;/p&gt;

&lt;p&gt;这样也解决了资讯安全问题，因为只有 Create Update destroy 这三个 action 才会动到 server 端的资料异动&lt;/p&gt;

&lt;p&gt;对于网址跟对应的 Action 与页面来说&lt;/p&gt;
&lt;h6 id="/group/一定就是index，首页，对应Routes路径(或称为helper)： groups_path"&gt;/group/一定就是index，首页，对应Routes路径(或称为helper)：groups_path&lt;/h6&gt;&lt;h6 id="/group/123一定就是show，名字为123的讨论版个版页面，对应Routes路径(或称为helper)： group_path( 123)"&gt;/group/123一定就是show，名字为123的讨论版个版页面，对应Routes路径(或称为helper)：group_path( 123)&lt;/h6&gt;&lt;h6 id="/group/123/edit一定就是edit，修改讨论版123的表单页面，对应Routes路径(或称为helper)：edit_group_path(123)"&gt;/group/123/edit一定就是edit，修改讨论版123的表单页面，对应Routes路径(或称为helper)：edit_group_path(123)&lt;/h6&gt;&lt;h6 id="/group/new一定就是new，新增讨论版的表单页面，对应Routes路径(或称为helper)：new_group_path"&gt;/group/new一定就是new，新增讨论版的表单页面，对应Routes路径(或称为helper)：new_group_path&lt;/h6&gt;&lt;h4 id="总结"&gt;总结&lt;/h4&gt;
&lt;p&gt;所以制作一个 RESTful 风格的讨论版，我们仅需在 Routes 设定一行程式即可
&lt;img src="https://l.ruby-china.com/photo/2016/62b5999cc30180e9ad4ed856c257d61c.png!large" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;####MVC 架构中：&lt;/p&gt;
&lt;h4 id="Models:"&gt;Models:&lt;/h4&gt;
&lt;p&gt;&lt;img src="https://l.ruby-china.com/photo/2016/316448539953893bced03b872eb548bb.png!large" title="" alt=""&gt;&lt;/p&gt;
&lt;h4 id="Controllers"&gt;Controllers&lt;/h4&gt;
&lt;p&gt;在 app/controllers 仅需定义 (Define) 七个方法 (Method) 当动作 (action)&lt;/p&gt;

&lt;p&gt;&lt;img src="https://l.ruby-china.com/photo/2016/31c8aa190ef99e2fbcdbab21fa507a49.png!large" title="" alt=""&gt;&lt;/p&gt;
&lt;h4 id="Views"&gt;Views&lt;/h4&gt;
&lt;p&gt;在 app/views/groups/ 资料夹里做四个 html 档案：&lt;/p&gt;

&lt;p&gt;index.html.erb&lt;/p&gt;

&lt;p&gt;show.html.erb&lt;/p&gt;

&lt;p&gt;edit.html.erb&lt;/p&gt;

&lt;p&gt;new.htmlerb&lt;/p&gt;

&lt;p&gt;有没有发现，刚好都对应到 HTTP Verb 是 GET 的 action? 
当我们运作 Create、Update、Destroy 等动作时，Rails 不会笨笨的指向开启"create 这个网页"的动作&lt;/p&gt;
&lt;h4 id="这样我们就用MVC架构把group 功能完整个拆分出来了"&gt;这样我们就用 MVC 架构把 group 功能完整个拆分出来了&lt;/h4&gt;&lt;h4 id="Models来做资料库设定"&gt;Models 来做资料库设定&lt;/h4&gt;&lt;h4 id="Views做前端设计"&gt;Views 做前端设计&lt;/h4&gt;
&lt;p&gt;好处是借此定下规范：
Views 里不会出现流程控制
资料存取出状况找 Models 的部分就对了
Controller 里面一定不会有 html/css/js 码&lt;/p&gt;</description>
      <author>babyhai</author>
      <pubDate>Wed, 23 Nov 2016 16:53:57 +0800</pubDate>
      <link>https://ruby-china.org/topics/31669</link>
      <guid>https://ruby-china.org/topics/31669</guid>
    </item>
  </channel>
</rss>
