<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>tracyzhang (zhangshicong)</title>
    <link>https://ruby-china.org/tracyzhang</link>
    <description></description>
    <language>en-us</language>
    <item>
      <title>用 ror 开发了一个网站并且已经上线，现在需要加个需求，就是需要有会员积分系统。各位大神有什么好的意见。</title>
      <description>&lt;p&gt;如题：&lt;/p&gt;

&lt;p&gt;比如。新会员注册，＋20 积分。
          每天登陆， ＋5 积分。
           评论，  ＋2 积分。诸如此类。&lt;/p&gt;

&lt;p&gt;我的想法很原始，在每个能获取积分的页面动作上，到 controller 里《用户积分表》登陆一条相关用户的纪录。&lt;/p&gt;

&lt;p&gt;请问各位大神，有什么思路。去做这块业务。&lt;/p&gt;</description>
      <author>tracyzhang</author>
      <pubDate>Tue, 16 Jun 2015 11:07:38 +0800</pubDate>
      <link>https://ruby-china.org/topics/26043</link>
      <guid>https://ruby-china.org/topics/26043</guid>
    </item>
    <item>
      <title>rails_admin 的用户身份不同，针对同一个 model，有不同的操作权限。</title>
      <description>&lt;p&gt;如题，比如我是超级管理员 我可以对 model 进行 index，new，edit，update 等所有操作。如果是一般管理员，只可以 index 操作。&lt;/p&gt;

&lt;p&gt;在 rails_admin.rb 的配置文件中，有这么一段&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="n"&gt;config&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;actions&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
  &lt;span class="n"&gt;new&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;variable&lt;/span&gt;&lt;span class="o"&gt;|&lt;/span&gt;
    &lt;span class="n"&gt;except&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'Purchase'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
  &lt;span class="k"&gt;end&lt;/span&gt;
  &lt;span class="n"&gt;dashboard&lt;/span&gt;                     &lt;span class="c1"&gt;# mandatory&lt;/span&gt;
  &lt;span class="n"&gt;index&lt;/span&gt;                         &lt;span class="c1"&gt;# mandatory&lt;/span&gt;
  &lt;span class="n"&gt;export&lt;/span&gt;
  &lt;span class="n"&gt;bulk_delete&lt;/span&gt;
  &lt;span class="n"&gt;show&lt;/span&gt;
  &lt;span class="n"&gt;edit&lt;/span&gt;
  &lt;span class="n"&gt;delete&lt;/span&gt;
  &lt;span class="n"&gt;show_in_app&lt;/span&gt;

  &lt;span class="c1"&gt;## With an audit adapter, you can add:&lt;/span&gt;
  &lt;span class="n"&gt;history_index&lt;/span&gt;
  &lt;span class="n"&gt;history_show&lt;/span&gt;
&lt;span class="k"&gt;end&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;我现在只能把 purchase 这个 model 的 new 隐藏掉。但是不能针对 model 添加 admin 的判断。不知能否明白我的意思。有 wiki 说用 cancan 权限操作。但是我并不想为了这一个小逻辑而添加一个 gem。&lt;/p&gt;</description>
      <author>tracyzhang</author>
      <pubDate>Thu, 09 Apr 2015 17:47:17 +0800</pubDate>
      <link>https://ruby-china.org/topics/25074</link>
      <guid>https://ruby-china.org/topics/25074</guid>
    </item>
    <item>
      <title>用 Devise 添加了一个 admin 的角色，登录无效。</title>
      <description>&lt;p&gt;不知道自己该不该新手自称。学习 ruby 几个月。最近用 ror 做项目。之前做了几年的 javaweb。&lt;/p&gt;

&lt;p&gt;遇到的问题是这样的：&lt;/p&gt;

&lt;p&gt;项目用 rails admin 做系统管理后台，因此需要再加一个 admin 的角色来登录这个后台管理系统。（已经有一个 user 的 devise）&lt;/p&gt;

&lt;p&gt;我先贴下代码&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;1）$ rails g devise Administrator
2)   $ rails g devise:controllers administrators
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;3) config/routes.rb:&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;devise_for :administrators, :controllers =&amp;gt; {
  :registrations =&amp;gt; "administrators/registrations",
  :sessions =&amp;gt; "administrators/sessions",
  :passwords =&amp;gt; "administrators/passwords"
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;4) config/initializers/rails_admin.rb:&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;config.authenticate_with do
  warden.authenticate! scope: :administrator
end
config.current_user_method(&amp;amp;:current_administrator)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;5) app/controllers/application_controller.rb:&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;def require_administrator_login
   if current_administrator.blank?
     respond_to do |format|
       format.html { authenticate_administrator! }
       format.json { head(:unauthorized) }
     end
   end
 end
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
我发现当程序运行到 app/controllers/administrators/sessions_controller.rb 的 create 方法第一行
《self.resource = warden.authenticate!(auth_options)》这句报错。
报的错是（图中的‘aa’我是为了调试程序而故意写的）
&lt;img src="https://l.ruby-china.com/photo/2015/3b72f31ef3ca0a5ea426f9346fce055d.jpg" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;这是 log
&lt;img src="https://l.ruby-china.com/photo/2015/da3a237bb6c011bb141bffceadd760df.jpg" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
查了很多文档，也没什么大的头绪。不知大家有什么好的建议？&lt;/p&gt;</description>
      <author>tracyzhang</author>
      <pubDate>Wed, 01 Apr 2015 19:56:58 +0800</pubDate>
      <link>https://ruby-china.org/topics/24952</link>
      <guid>https://ruby-china.org/topics/24952</guid>
    </item>
    <item>
      <title>mailcatcher 如何部署到生产环境？</title>
      <description>&lt;p&gt;开发环境下，我在 config/environments/development.rb 里添加了如下配置&lt;/p&gt;

&lt;p&gt;config.action_mailer.delivery_method = :smtp
  config.action_mailer.default_url_options = { host: 'yunmed-2015-website.dev' }  #开发环境
  config.action_mailer.smtp_settings = { :address =&amp;gt; "localhost", :port =&amp;gt; 1025 }&lt;/p&gt;

&lt;p&gt;按照&lt;a href="http://mailcatcher.me/" rel="nofollow" target="_blank"&gt;http://mailcatcher.me/&lt;/a&gt; 的教程我也安装了 mailcatcher。并且在开发环境可以收到邮件，并且去重置自己的密码。&lt;img src="https://l.ruby-china.com/photo/2015/f019a9a9c25a03e2e0603d31e6723aff.jpg" title="" alt=""&gt;
&lt;img src="https://l.ruby-china.com/photo/2015/26a57f4243a4dc4d8bca2a257ea2ac8f.jpg" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;但是产品上线，真正到生产环境可如何配置呢？&lt;/p&gt;</description>
      <author>tracyzhang</author>
      <pubDate>Tue, 24 Mar 2015 10:40:52 +0800</pubDate>
      <link>https://ruby-china.org/topics/24807</link>
      <guid>https://ruby-china.org/topics/24807</guid>
    </item>
  </channel>
</rss>
