小编zac*_*har的帖子

找不到gem rails - Gem :: GemNotFoundException

使用ubuntu 10.04,rvm.起初,我已经用rvm,gem rails安装了ruby 1.9.2并生成了一些新项目并成功启动了它.一切都很好.但是在更改到另一个项目后,执行bundle install命令(输出看起来没问题)并启动rails server - 出现错误:

导轨

/home/jacek/.rvm/rubies/ruby-1.9.2-p318/lib/ruby/site_ruby/1.9.1/rubygems.rb:316:in `bin_path': can't find gem rails ([">= 0"]) with executable rails (Gem::GemNotFoundException)
from /home/jacek/.rvm/gems/ruby-1.9.2-p318/bin/rails:19:in `<main>'
Run Code Online (Sandbox Code Playgroud)

宝石列表轨道

*** LOCAL GEMS ***
rails (3.2.2)
Run Code Online (Sandbox Code Playgroud)

宝石环境

RubyGems Environment:
  - RUBYGEMS VERSION: 1.8.18
  - RUBY VERSION: 1.9.2 (2012-02-14 patchlevel 318) [i686-linux]
  - INSTALLATION DIRECTORY: /home/jacek/.rvm/gems/ruby-1.9.2-p318
  - RUBY EXECUTABLE: /home/jacek/.rvm/rubies/ruby-1.9.2-p318/bin/ruby
  - EXECUTABLE DIRECTORY: /home/jacek/.rvm/gems/ruby-1.9.2-p318/bin
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86-linux
  - GEM PATHS:
     - /home/jacek/.rvm/gems/ruby-1.9.2-p318
     - /home/jacek/.rvm/gems/ruby-1.9.2-p318@global
  - GEM CONFIGURATION:
     - :update_sources => true
     - …
Run Code Online (Sandbox Code Playgroud)

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

25
推荐指数
3
解决办法
5万
查看次数

设计和本地化自己的邮件模板

我正在使用devise gem并希望翻译确认邮件.我已经有了自己的模板和重写的邮件方法:

class LocalizedDeviseMailer < Devise::Mailer
  def confirmation_instructions(record, locale)
    @locale = locale
    super
  end
end
Run Code Online (Sandbox Code Playgroud)

所以,在我的模板中我可以这样做:

I18n.locale = @locale
Run Code Online (Sandbox Code Playgroud)

然后:

t("it.really.works")
Run Code Online (Sandbox Code Playgroud)

但我不知道如何将我的变量与locale传递给mailer方法.最好的方法是什么?任何帮助,将不胜感激.

ruby ruby-on-rails actionmailer internationalization devise

8
推荐指数
3
解决办法
5802
查看次数

应用程序显示错误的小时和分钟

起初:那不是错误区域的问题.在irb和数据库中,一切都很好.当我想在我的视图中显示日期(created_at,updated_at以及我自己在每个模型中定义的日期)时出现问题.我试图在application.rb中设置时区并从初始化程序中删除时间格式,但这并没有解决我的问题.

Annotate gem生成的架构信息:

#  created_at                      :datetime
#  updated_at                      :datetime
#  publish_at                      :datetime
Run Code Online (Sandbox Code Playgroud)

来自irb:

1.9.2-p290 :004 > Time.zone
 => (GMT+00:00) UTC 
1.9.2-p290 :005 > Time.zone.now
 => Fri, 24 Feb 2012 12:14:04 UTC +00:00 
1.9.2-p290 :006 > Time.now
 => 2012-02-24 13:14:07 +0100
Run Code Online (Sandbox Code Playgroud)

例子:

1.9.2-p290 :007 > Article.last
  Article Load (0.3ms)  SELECT `articles`.* FROM `articles` ORDER BY `articles`.`id` DESC LIMIT 1
 => #<... created_at: "2012-02-24 12:04:24", updated_at: "2012-02-24 12:04:24", publish_at: "2012-02-24 12:04:24"...> 
Run Code Online (Sandbox Code Playgroud)

应用显示:

Created_at 2012-02-24 12:02,Updated_at 2012-02-24 12:02,Publish_at 2012-02-24 12:02,

1.9.2-p290 :008 > …
Run Code Online (Sandbox Code Playgroud)

ruby activerecord ruby-on-rails ruby-on-rails-3 activeadmin

6
推荐指数
1
解决办法
735
查看次数

调用未定义的函数FOS\UserBundle\Util\mb_convert_case()

我收到了错误

Call to undefined function FOS\UserBundle\Util\mb_convert_case() app_path/vendor/bundles/FOS/UserBundle/Util/Canonicalizer.php on line 18
Run Code Online (Sandbox Code Playgroud)

当我尝试加载灯具时会发生这种情况.

第一步是安装mbstring.so ext,所以我编译了php

--enable-mbstring
Run Code Online (Sandbox Code Playgroud)

比成功复制mbstring ext

phpize
./configure
make
make install
Run Code Online (Sandbox Code Playgroud)

并补充说

extension=mbstring.so
Run Code Online (Sandbox Code Playgroud)

到我的php.ini文件.不幸的是我仍然遇到了这个错误,php -m没有显示mbstring作为加载的扩展名.怎么了?

任何帮助将不胜感激.

PHP 5.4.7,Debian Lenny

来自php check.php输出

[[WARNING]] Checking that the mb_strlen() function is available: FAILED
            *** Install and enable the mbstring extension ***
Run Code Online (Sandbox Code Playgroud)

php debian mbstring symfony

6
推荐指数
2
解决办法
7581
查看次数