我正在使用Ruby on Rails 3.0.7,我希望在给定类名的情况下检索控制器名称.就是,我有
Articles::Category
Run Code Online (Sandbox Code Playgroud)
我想要检索
articles/categories
Run Code Online (Sandbox Code Playgroud)
我想在与控制器无关的视图文件中检索控制器名称Articles::Categories.
我该怎么做(可能使用一些Ruby on Rails核心方法)?
我正在使用Ruby on Rails,我想确保我的CSS文件按预定顺序加载.应该在application.html.erb文件中声明要完成的代码.
有一些RoR方法可以做到这一点?
我正在使用Ruby on Rails 3.0.9,我试图从内部帮助器,控制器,模型和视图文件中调用一些方法.我想要做的是创建一个库,在我的应用程序内部构建\ standardize命名约定,以便我可以使用\运行如下所示:
standardized_name = standardize_name(Article)
Run Code Online (Sandbox Code Playgroud)
你有什么建议?
PS:我听说过mixin,但我应该如何在我的情况下使用它们?此外,我不想在每个需要使用它的类中声明包含mixin(也就是说,我希望在我的所有应用程序类中都有一个包含mixin的"唯一"语句).
我正在使用Ruby on Rails 3.0.10并且我想自动构建并加载不同的CSS样式表文件,具体取决于我是development在production模式中还是在模式下运行我的应用程序.
我想出于性能原因自动"最小化"CSS文件并加载那些相关的"最小化"文件,因为我不想向"公众" 显示我的CSS文件中存在的评论内容(注意:用户)可以访问主题,例如,使用Mozilla Firefox浏览器的FireBug插件).我也想为javascript文件做这件事.
我怎样才能做到这一点?
PS:我打算切换到Ruby on Rails v3.1 ......
我刚从Ruby on Rails 3.0.10切换到3.1.0,我使用的是jQuery UI 1.8.14.我在远程计算机上css以生产模式加载文件时遇到问题.
在我的app/views/layouts/application.html.erb档案中,我有:
<%= stylesheet_link_tag 'application', 'jquery-ui-1.8.14.custom', 'jquery-ui-1.8.14.custom_redefinition' %>
<%= javascript_include_tag 'application' %>
Run Code Online (Sandbox Code Playgroud)
注意:该jquery-ui-1.8.14.custom文件是使用Theme Roller生成的CSS文件,jquery-ui-1.8.14.custom_redefinition是我的"自定义重定义"文件,它覆盖了一些CSS类.这些文件(都带有扩展名.css)位于vendor/assets/stylesheets.
在我的本地机器上的开发模式似乎都工作,但当我使用Capistrano部署到远程机器时,它不再起作用.也就是说,jQuery UI相关文件未按预期加载:如果我尝试访问它们,则它们的内容为空\空(我可以在为我的应用程序网页生成的源HTML代码中看到).
我怎么解决这个问题?
此时在我的config/environments/production.rb文件中我有:
# Compress JavaScripts and CSS
config.assets.compress = true
# Don't fallback to assets pipeline if a precompiled asset is missed
#
# Note: Since, at this time, the asset Pipeline doesn't work for me I am
# …Run Code Online (Sandbox Code Playgroud) ruby deployment ruby-on-rails ruby-on-rails-3 asset-pipeline
我从3.1.0运行Ruby on Rails 3.2.2.我有这个问题
undefined method send_register_email\' for #<Syck::DomainType:0x0000012d2346b8>\n/<ABSOLUTE_PATH>/.rvm/gems/ruby-1.9.2-p290/gems/delayed_job-3.0.1/lib/delayed/performable_mailer.rb:6:in perform ...
Run Code Online (Sandbox Code Playgroud)
有许多其他人试图解决的DelayedJob宝石:有人成功,其他人没有.如果我尝试了我在网上找到的所有解决方案,那么我属于后一类.
这时,在我的Gemfile中我有:
gem 'rails', '3.2.2'
gem "rake"
...
gem 'delayed_job_active_record'
...
Run Code Online (Sandbox Code Playgroud)
在升级Rails之前,在我的Gemfile中我有:
gem 'rails', '~> 3.1.0'
gem "rake"
...
# I also used the following statement by running Rails 3.2.2 but it didn't work.
gem 'delayed_job'
...
Run Code Online (Sandbox Code Playgroud)
为了发送电子邮件,我在控制器中使用以下代码链接:
::Users::Mailer.delay.send_register_email(@user)
Run Code Online (Sandbox Code Playgroud)
在我的APPLICATION_ROOT/app/mailers/users/mailer.rb档案中,我有:
class Users::Mailer < ActionMailer::Base
...
def send_register_email(user)
...
end
end
Run Code Online (Sandbox Code Playgroud)
在更新到Rails 3.2.2之前,所有工作都正常.现在我在介绍文本中得到了上面提到的错误.我该如何尝试解决延迟工作问题?
我注意到在与delayed_job_active_recordgem 相关的数据库表中应该是一个名为'queue'的列(有关更多信息,请参阅官方文档中的"Gory Details"部分).但是,因为我使用gem 'delayed_job'它存在于该数据库表中.可能是那个问题?
我注意到的另一件事是以下(但我认为这不是问题,现在):
$ rake …Run Code Online (Sandbox Code Playgroud) 我正在使用Ruby on Rails v3.2.2,我想通过仅在一个案例中禁用系统缓存来检索数据库数据.也就是说,在我的视图文件中,我有以下内容:
<h1>Random articles 1</h1>
<%= Article.order('RAND()').limit(3).inspect %>
...
<h1>Random articles 2</h1>
<%= Article.order('RAND()').limit(3).inspect %>
Run Code Online (Sandbox Code Playgroud)
当呈现视图文件时,它在"随机文章1"和"随机文章2"下输出相同的数据.之所以发生这种情况是因为Ruby on Rails缓存系统(通过"默认"/"约定")试图以性能为由尽可能少地访问数据库.
如何防止此行为(仅针对上述情况),以便在视图文件中为finder方法输出不同的数据?
我正在使用Ruby on Rails 3.2.2,我想知道是否可以检查类或模块是否是命名空间.也就是说,我想运行类似下面的内容
ANamespaceName::AnotherNamespaceName::AClassName.is_namespaced?
#=> true
ANamespaceName::AClassName.is_namespaced?
#=> true
AClassName.is_namespaced?
#=> false
Run Code Online (Sandbox Code Playgroud)
在上面的代码中,问题与声明/实现该is_namespaced?方法有关.
我正在使用Ruby on Rails 3.2.13,因为在我之前的问题"我应该如何使用alias_method_chain构建方法?" 似乎找到了任何解决方案,我正在考虑build在我的模型类中覆盖该方法以获得所需的行为.
我怎么能/应该覆盖build我的模型的build方法(即使方法运行为ActiveRecord关联类似@article.comments.build(...))?
我正在使用Ruby on Rails 3.0.9,我计划在我的应用程序中添加一个简单的"联系我们"表单,以便用户可以联系我们的团队.为此,我想运行验证和"朋友"功能和(以避免自己实现)和使用第三方软件,但...
...你建议使用什么宝石(或插件)?对于这种事情,最广泛"批准"的宝石是什么?
当然我想在"积极开发"中使用gem(也就是说,它的开发人员是活跃的).
ruby ×10
ruby-on-rails ×10
class ×2
css ×2
load ×2
methods ×2
activerecord ×1
caching ×1
controller ×1
database ×1
delayed-job ×1
deployment ×1
forms ×1
gem ×1
namespaces ×1
overriding ×1