小编mat*_*ald的帖子

显示Flash消息的最佳实践方法

我想知道显示flash消息的最佳做法是什么.我见过的两种主要方式是使用类似这种脚手架生成的代码

<p id="notice"><%= notice %></p>
Run Code Online (Sandbox Code Playgroud)

或者在您的应用程序标题中放置这样的代码.

<% if !flash.empty? %>
    <div id="flash"> 
        <% flash.keys.each do |k| %> 
            <div class="<%= k %>">
                <%= flash[k] %>
            </div>  
        <% end %>   
    </div>
<% end %>
Run Code Online (Sandbox Code Playgroud)

在我看来,第一种方法增加了更多的灵活性,而后者提高了代码的可读性并消除了冗余.大多数rails开发人员更喜欢哪种方法?作为一个侧面问题,脚手架如何实施通知?它只是一个访问Flash哈希的助手吗?当你可以直接使用flash哈希时,为什么要经历使用帮助器的麻烦?谢谢

ruby-on-rails ruby-on-rails-3

30
推荐指数
2
解决办法
4万
查看次数

在两个活动的管理类中使用相同的模型

我正在为一个大型生产应用程序开发ActiveAdmin应用程序.我目前正在尝试为两个activeadmin"实体"使用相同的模型.

所以,说我有

class Person < ActiveRecord::Base

  scope :special, where(:is_special => true)
  scope :ordinary, where(:is_special => false)

end
Run Code Online (Sandbox Code Playgroud)

我能做点什么吗

ActiveAdmin.register Person, :name => "Special People" do

  # columns, filters for special people

  controller do
    def scoped_collection
      Person.special
    end
  end  

end

ActiveAdmin.register Person, :name => "Ordinary People" do

  # columns, filters for ordinary people

  controller do
    def scoped_collection
      Person.ordinary
    end
  end  

end
Run Code Online (Sandbox Code Playgroud)

(我在这里编写语法来解释我想要做什么.)

这两种类型的人将显示为ActiveAdmin.register块中定义的菜单项和不同的CRUD接口.他们只有相同的底层模型.

ruby-on-rails-3 activeadmin

8
推荐指数
1
解决办法
1512
查看次数

使用浮点数在Ruby中打开范围?

是否可以在ruby中创建排除一个或两个端点的范围.那么处理开放和封闭区间边界的数学概念?

例如,我可以定义1.0到10.0之间的范围,不包括1.0

说(假伪红宝石)

range = [1.0...10.0)

range === 1.0
=> false

range === 10.0
=> true
Run Code Online (Sandbox Code Playgroud)

ruby

3
推荐指数
2
解决办法
5375
查看次数