标签: ruby

Rails:如何让Date strftime知道默认的语言环境?

我将默认语言环境设置为environment.rbas de(德语).

我还看到德语中的所有错误消息,因此服务器会选择语言环境.但是当我尝试用strftime以下内容打印日期时:

some_date.strftime('%B, %y')
Run Code Online (Sandbox Code Playgroud)

它以英语(January, 11)打印,而不是预期的德语(Januar, 11).

如何根据默认区域设置打印日期?

ruby localization ruby-on-rails strftime rails-i18n

59
推荐指数
3
解决办法
4万
查看次数

Ruby:是否可以在模块中定义类方法?

说有三大类:A,BC.我想每个班有一个类的方法,说self.foo,刚好有对相同的代码A,BC.

是否可以self.foo在模块中定义并包含此模块A,B&C?我试图这样做并收到一条错误消息,说明foo无法识别.

ruby

59
推荐指数
5
解决办法
4万
查看次数

在rails 3中查找会话ID

如何在rails 3中获取当前会话ID?

我试过以下没有运气:

session[:session_id]
session['session_id']
session[:id]
session['id']
session.id
session.session_id
Run Code Online (Sandbox Code Playgroud)

ruby session ruby-on-rails

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

如果我在Ruby on Rails中有一个哈希值,有没有办法让它无关紧要?

如果我已经有哈希,我可以这样做

h[:foo]
h['foo']
Run Code Online (Sandbox Code Playgroud)

是相同的?(这被称为无关紧要的访问吗?)

细节:我使用以下内容加载此哈希,initializers但可能不应该有所作为:

SETTINGS = YAML.load_file("#{RAILS_ROOT}/config/settings.yml")
Run Code Online (Sandbox Code Playgroud)

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

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

Rails 3:yield/content_for有一些默认值?

有没有办法检测是否#content_for实际应用于yieldRails中的作用域?

一个典型的例子是:

<title><%= yield :page_title %></title>
Run Code Online (Sandbox Code Playgroud)

如果模板没有设置

<% content_for :page_title, "Something here" %>
Run Code Online (Sandbox Code Playgroud)

有没有办法让布局把其他东西放在那里?

我尝试#content_for在布局本身中定义它,但这只会导致文本加倍​​.我也尝试过:

<%= (yield :page_title) or default_page_title %>
Run Code Online (Sandbox Code Playgroud)

#default_page_title视图帮助器在哪里.

这只是让街区完全空了.

ruby yield ruby-on-rails

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

如何使RASS 3.1使用SASS(Over SCSS)作为默认值?

很难确定如何制作SASS而不是SCSS作为样式表的默认值.

我试过sass_config.rb用这个制作一个文件:

Sass::Plugin.options[:syntax] = :sass
Sass::Plugin.options[:style] = :compressed
Run Code Online (Sandbox Code Playgroud)

我也尝试将它添加到environment.rb文件中.无论哪种方式我都会收到此错误:

.../config/environment.rb:7:in `<top (required)>': 
  uninitialized constant Sass::Plugin (NameError)
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails sass ruby-on-rails-3.1

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

使用PostgreSQL时,角色不存在且无法创建数据库

我使用Heroku作为我的应用程序,它需要PostgreSQL,但你仍然可以使用SQLite3进行开发.由于Heroku强烈建议不要使用2个不同的数据库,所以我决定改用PostgreSQL进行开发.我安装了gem pg并且还去了官方PostgreSQL站点以获取Windows安装程序并且还更改了我的database.yml.在安装过程中,它需要一个PostgreSQL的密码,所以我做了一个.我不得不改变pg_hba.conf文件使用md5trust,为了得到过去:fe_sendauth: no password supplied试图创建数据库时.

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# IPv4 local connections:
host    all             all             127.0.0.1/32            trust # was md5
# IPv6 local connections:
host    all             all             ::1/128                 trust # was md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
#host    replication     postgres        127.0.0.1/32            trust
#host    replication     postgres        ::1/128                 trust
Run Code Online (Sandbox Code Playgroud)

在摆脱了这个之后,我现在得到了这个:

$ rake db:create
(in C:/app)
FATAL:  role "User" …
Run Code Online (Sandbox Code Playgroud)

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

59
推荐指数
3
解决办法
4万
查看次数

使用Ruby的类<< self vs self.method:什么更好?

这个Ruby风格指南告诉我们更好地使用self.method_name而不是class method_name.但为什么?

class TestClass
  # bad
  class << self
    def first_method
      # body omitted
    end

    def second_method_etc
      # body omitted
    end
  end

  # good
  def self.first_method
    # body omitted
  end

  def self.second_method_etc
    # body omitted
  end
end
Run Code Online (Sandbox Code Playgroud)

有性能问题吗?

ruby

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

bundler在哪里存储宝石?

我知道在使用时gem install,gem将存储在/home/username/.rvm/gems/下,gem下安装gem.

但是如果我使用Bundler并在Gemfile中指定gem,那么当我运行bundle install时,那些gem会被存储在哪里?如果我已经安装了gem gem install,如果我运行bundle install,它会使用之前安装的gem gem install吗?

ruby gem bundler rvm gemset

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

如何解决"/ usr/bin/env:ruby_executable_hooks:没有这样的文件或目录"?

我只是在一个vps中部署jekyll,并在其上配置git post-receive hook.当我从我的笔记本电脑推动博客更新到vps时,我遇到了这个错误:

remote: /usr/bin/env: ruby_executable_hooks: No such file or directory
Run Code Online (Sandbox Code Playgroud)

我搜索了一会儿,尝试了这篇文章中提出的方法:bundle update:env:ruby_executable_hooks:没有这样的文件或目录,即执行以下命令:

rvm @global do gem regenerate_binstubs
gem regenerate_binstubs
Run Code Online (Sandbox Code Playgroud)

但它没有帮助,错误仍然存​​在.由于我不熟悉rvm或ruby,有人能给我一个提示吗?

ruby git jekyll rvm

59
推荐指数
3
解决办法
4万
查看次数