我将默认语言环境设置为environment.rbas de(德语).
我还看到德语中的所有错误消息,因此服务器会选择语言环境.但是当我尝试用strftime以下内容打印日期时:
some_date.strftime('%B, %y')
Run Code Online (Sandbox Code Playgroud)
它以英语(January, 11)打印,而不是预期的德语(Januar, 11).
如何根据默认区域设置打印日期?
说有三大类:A,B和C.我想每个班有一个类的方法,说self.foo,刚好有对相同的代码A,B及C.
是否可以self.foo在模块中定义并包含此模块A,B&C?我试图这样做并收到一条错误消息,说明foo无法识别.
如何在rails 3中获取当前会话ID?
我试过以下没有运气:
session[:session_id]
session['session_id']
session[:id]
session['id']
session.id
session.session_id
Run Code Online (Sandbox Code Playgroud) 如果我已经有哈希,我可以这样做
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) 有没有办法检测是否#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视图帮助器在哪里.
这只是让街区完全空了.
很难确定如何制作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) 我使用Heroku作为我的应用程序,它需要PostgreSQL,但你仍然可以使用SQLite3进行开发.由于Heroku强烈建议不要使用2个不同的数据库,所以我决定改用PostgreSQL进行开发.我安装了gem pg并且还去了官方PostgreSQL站点以获取Windows安装程序并且还更改了我的database.yml.在安装过程中,它需要一个PostgreSQL的密码,所以我做了一个.我不得不改变pg_hba.conf文件使用md5到trust,为了得到过去: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风格指南告诉我们更好地使用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)
有性能问题吗?
我知道在使用时gem install,gem将存储在/home/username/.rvm/gems/下,gem下安装gem.
但是如果我使用Bundler并在Gemfile中指定gem,那么当我运行bundle install时,那些gem会被存储在哪里?如果我已经安装了gem gem install,如果我运行bundle install,它会使用之前安装的gem gem install吗?
我只是在一个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 ×10
rvm ×2
bundler ×1
gem ×1
gemset ×1
git ×1
jekyll ×1
localization ×1
postgresql ×1
rails-i18n ×1
sass ×1
session ×1
strftime ×1
yield ×1