我想知道是否可以在没有源代码的情况下分发用于生产的RoR应用程序?我在SO上看过这篇文章,但我的情况有点不同.这将是一个由具有一些线索的人管理的应用程序,所以我很酷,仍然需要在客户端设置Apache/Mongrel/MySQL.我真正想要的是保护源.编码似乎是分发PHP应用程序的一种流行方式(例如:Helpspot).
我发现了这些潜在的解决方案:
我听说可能使用JRuby并分发字节码可能是实现这一目的的一种方法,但我从未使用过JRuby所以我不确定涉及到什么.
任何人都可以提供任何想法和/或已知示例吗?理想情况下,我也希望拥有某种自动构建方案.
使用Rails v2.1,假设您有一个可以从多个位置访问的控制器的操作.例如,在Rails应用程序中,您有一个链接可以从两个不同的视图编辑用户,一个在用户索引视图上,另一个在另一个视图中(比如每页的导航栏).
我想知道根据用户点击的链接将用户重定向回正确位置的最佳方法是什么.例如:
例1:
例2:
我以前见过它:
我不太喜欢这个解决方案,需要将参数添加到视图中的每个适用链接.我想知道是否有办法将这一切都构建到控制器中.
我想的一个更好的方法是:
有关最佳方法的任何想法吗?
我有一些模型需要在其上放置自定义查找条件.例如,如果我有一个Contact模型,每次调用Contact.find时,我想限制返回的仅属于正在使用的Account的联系人.
我通过谷歌找到了这个(我已经定制了一点):
def self.find(*args)
with_scope(:find => { :conditions => "account_id = #{$account.id}" }) do
super(*args)
end
end
Run Code Online (Sandbox Code Playgroud)
这很有效,除了少数几个account_id不明确的情况,所以我把它改编成:
def self.find(*args)
with_scope(:find => { :conditions => "#{self.to_s.downcase.pluralize}.account_id = #{$account.id}" }) do
super(*args)
end
end
Run Code Online (Sandbox Code Playgroud)
这也很好,但是,我希望它是干的.现在我有一些不同的模型,我希望使用这种功能.做这个的最好方式是什么?
当你回答时,请包含代码,以帮助我们的思想掌握元编程Ruby-fu.
(我正在使用Rails v2.1)
我想设置一些内容,以便在我的应用程序中的帐户被禁用时,我希望将所有请求重定向到"已禁用"消息.
我在我的ApplicationController中设置了它:
class ApplicationController < ActionController::Base
before_filter :check_account
def check_account
redirect_to :controller => "main", :action => "disabled" and return if !$account.active?
end
end
Run Code Online (Sandbox Code Playgroud)
当然,如果帐户未处于活动状态,则进入无限循环时,这不会很有效.我希望使用类似的东西:
redirect_to :controller => "main", :action => "disabled" and return if !$account.active? && @controller.controller_name != "main" && @controller.action_name != "disabled"
Run Code Online (Sandbox Code Playgroud)
但我注意到在Rails v2.1(我正在使用的)中,@ console现在是控制器,这似乎在ApplicationController中不起作用.
实现这样的事情最好的方法是什么?