<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Rails on csegura</title><link>https://blog.romheat.net/tags/rails/</link><description>Recent content in Rails on csegura</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Sun, 08 Sep 2013 00:00:00 +0100</lastBuildDate><atom:link href="https://blog.romheat.net/tags/rails/index.xml" rel="self" type="application/rss+xml"/><item><title>Ruby on Rails clone 37signals</title><link>https://blog.romheat.net/posts/2013/13_09_08_ruby_rails_clone_37s/</link><pubDate>Sun, 08 Sep 2013 00:00:00 +0100</pubDate><guid>https://blog.romheat.net/posts/2013/13_09_08_ruby_rails_clone_37s/</guid><description>&lt;p>While I was learning Ruby on Rails, I tried to clone the 37signals website.&lt;/p>
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;">
 &lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/P7CbiuM-RD0?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video">&lt;/iframe>
 &lt;/div></description></item><item><title>acts_as_role</title><link>https://blog.romheat.net/posts/2011/11_07_26_act_as_role/</link><pubDate>Tue, 26 Jul 2011 00:00:00 +0100</pubDate><guid>https://blog.romheat.net/posts/2011/11_07_26_act_as_role/</guid><description>&lt;p>= acts_as_role&lt;/p>
&lt;p>This is a minimalist implementation of roles using a database column to store the roles in plain text. You can specify the role values and a default role that should be used when model is initialized.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-ruby" data-lang="ruby">&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">class&lt;/span> &lt;span style="color:#a6e22e">User&lt;/span> &lt;span style="color:#f92672">&amp;lt;&lt;/span> &lt;span style="color:#66d9ef">ActiveRecord&lt;/span>&lt;span style="color:#f92672">::&lt;/span>&lt;span style="color:#66d9ef">Base&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> acts_as_role &lt;span style="color:#e6db74">:role&lt;/span>, &lt;span style="color:#e6db74">:values&lt;/span> &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#e6db74">%w(admin owner user)&lt;/span>, &lt;span style="color:#e6db74">:default&lt;/span> &lt;span style="color:#f92672">=&amp;gt;&lt;/span> &lt;span style="color:#e6db74">:user&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#66d9ef">end&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Use role field to store the user roles.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-ruby" data-lang="ruby">&lt;span style="display:flex;">&lt;span> user &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#66d9ef">User&lt;/span>&lt;span style="color:#f92672">.&lt;/span>new
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> user&lt;span style="color:#f92672">.&lt;/span>role &lt;span style="color:#f92672">=&amp;gt;&lt;/span> &lt;span style="color:#e6db74">&amp;#34;user&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> user&lt;span style="color:#f92672">.&lt;/span>has_role?(&lt;span style="color:#e6db74">:user&lt;/span>) &lt;span style="color:#f92672">=&amp;gt;&lt;/span> &lt;span style="color:#66d9ef">true&lt;/span> 
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Test roles using has_#{role_column.singularize}? or has_#{role_column.pluralize}?&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-ruby" data-lang="ruby">&lt;span style="display:flex;">&lt;span> user&lt;span style="color:#f92672">.&lt;/span>has_roles?(&lt;span style="color:#e6db74">:user&lt;/span>, &lt;span style="color:#e6db74">:admin&lt;/span>) &lt;span style="color:#f92672">=&amp;gt;&lt;/span> &lt;span style="color:#66d9ef">false&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> user&lt;span style="color:#f92672">.&lt;/span>add_roles &lt;span style="color:#e6db74">:owner&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> user&lt;span style="color:#f92672">.&lt;/span>has_roles?(&lt;span style="color:#e6db74">:user&lt;/span>, &lt;span style="color:#e6db74">:owner&lt;/span>) &lt;span style="color:#f92672">=&amp;gt;&lt;/span> &lt;span style="color:#66d9ef">true&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Roles are stored using plain text&lt;/p></description></item></channel></rss>