小编use*_*621的帖子

HAML - if/elsif建设

我需要在我的HAML代码中使用这种结构:

- if something1
  %div.a
- elsif something2
  %div.b
- elsif something3
  %div.c
- else
  %div.d
    %div another content
Run Code Online (Sandbox Code Playgroud)

我希望我会得到类似的东西:

<div class="a|b|c|d">
  <div>another content</div>
</div>
Run Code Online (Sandbox Code Playgroud)

但事实上我得到了

   <div class="a|b|c|d"></div>
   <div>another content</div>
Run Code Online (Sandbox Code Playgroud)

如果需要,我必须如何更新我的代码:

另一个内容

ruby haml if-statement ruby-on-rails-3

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

由于"mysql2"gem,我无法运行"bundle update"

我在Gemfile中有这个:

gem 'mysql2'
Run Code Online (Sandbox Code Playgroud)

但是当我运行bundle update时,我收到以下错误消息:

An error occurred while installing mysql2 (0.3.16), and Bundler cannot continue.
Make sure that `gem install mysql2 -v '0.3.16'` succeeds before bundling.
Run Code Online (Sandbox Code Playgroud)

我试着把它移到生产部分,像这样:

group :production do
  gem 'mysql2'
end
Run Code Online (Sandbox Code Playgroud)

但是在运行bundle更新后,结果是一样的.此部分仅在生产模式下处理,或不处理?

如何摆脱localhost上的此错误消息?

编辑:整个错误消息:

Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.

        /Users/radek/.rvm/rubies/ruby-1.9.3-p385/bin/ruby extconf.rb
checking for ruby/thread.h... *** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers.  Check the mkmf.log file for more
details. …
Run Code Online (Sandbox Code Playgroud)

ruby mysql gem ruby-on-rails gemfile

10
推荐指数
2
解决办法
1万
查看次数

Haml - 如何将ruby变量放入类标识符的名称中

这是一行,我用它来格式化我的链接:

%a.accordion-toggle.toggle-6{:href => "#"} #{name}
Run Code Online (Sandbox Code Playgroud)

我需要有一个选项来输入这个类来切换我自己的数字,例如toggle-1等.

如何在HAML语法中做到这一点?我尝试过类似的东西

%a.accordion-toggle.toggle-#{id}{:href => "#collapseOne"} #{name}
Run Code Online (Sandbox Code Playgroud)

但这会回来

Illegal element: classes and ids must have values.
Run Code Online (Sandbox Code Playgroud)

ruby syntax haml class

9
推荐指数
1
解决办法
6107
查看次数

Sublime Text 2 - 缺少当前打开的标签

我开始使用Sublime Text 2编辑器,它看起来很酷,但有一件事让我有点困惑.

当我打开一个项目然后我将打开我需要更新的文件时,这些文件不会显示在顶部栏的选项卡中,如屏幕截图所示?

我怎么能显示它们?

截图

tabs editor sublimetext2

9
推荐指数
2
解决办法
3300
查看次数

红宝石中的日期/时间比较

我有这些日期和时间:

schedule.day_start    # => 2014-09-27 15:30:00 UTC
date_now = Time.now   # => 2014-09-27 15:11:14 +0200
date_now + 60.minutes # => 2014-09-27 16:11:14 +0200
Run Code Online (Sandbox Code Playgroud)

我试图检测之前60分钟或更短时间内开始的所有时间表day_start.使用以下代码,我得到的是响应,"NO"而不是"YES".

if schedule.day_start < (Time.now + 60.minutes)
  "YES"
else
  "NO"
end
Run Code Online (Sandbox Code Playgroud)

为什么2014-09-27 15:30:00 UTC比大2014-09-27 16:11:14 +0200

ruby comparison time ruby-on-rails date

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

Rails 3 - ActiveRecord和反向排序

我在数据库中有以下数据:

1
2
3
4
5
Run Code Online (Sandbox Code Playgroud)

我想输出这个:

3
4
5
Run Code Online (Sandbox Code Playgroud)

我需要它在视图中打印:

<%car.colors.limit(3).order('created_at ASC').each do |color|%>
  ...
Run Code Online (Sandbox Code Playgroud)

我知道存在reverse_order,但存在类似反向排序的东西?

(我知道可以将数据加载到数组中然后遍历数组,但这种方式效率不高)

mysql database sorting ruby-on-rails-3 rails-activerecord

8
推荐指数
2
解决办法
1万
查看次数

Capistrano - 无法部署我的database.yml

当我尝试使用capistrano部署我的应用程序时,我会收到此错误:

失败:IP_ADDR上的"sh -c'cp /var/www/my_app/releases/20120313115055/config/database.staging.yml /var/www/my_app/releases/20120313115055/config/database.yml'"

我的database.yml即空,database.staging.yml:

production:
  adapter: mysql2
  encoding: utf8
  reconnect: false
  database: my_db
  pool: 15
  username: my_user_name
  password: my_pass
  host: localhost
Run Code Online (Sandbox Code Playgroud)

/ confing/deploy中是文件"production""staging"

我在这里缺少什么/我应该在哪里寻找失败?服务器上数据库的凭据应该是正确的.

编辑 - 这是我的部署

set :application, "my_app"
set :repository, "https://IP_ADDR/svn/my_app"

set :scm, :subversion
set :scm_username, 'my_name'
set :scm_password, 'my_pass'

default_run_options[:pty] = true

set :user, "my_name"
set :domain, 'IP_ADDR'

set :deploy_to, "/var/www/my_app"

set :use_sudo, false
set :deploy_via, :remote_cache
#set :keep_releases, 1

set :rails_env, 'production'

role :web, domain
role :app, domain …
Run Code Online (Sandbox Code Playgroud)

ruby database deployment capistrano ruby-on-rails-3.1

8
推荐指数
2
解决办法
9486
查看次数

PostgreSQL - 如何手动设置auto_increment的下一个值?

我手动向表中添加了一些行,并且还手动设置了ID(auto_increment).现在,当我尝试通过我的应用程序将新行添加到数据库表中时,对于数据库表我收到错误,即创建的ID值已经存在.

如何手动设置下一个ID值(例如,在表I中我必须使用ID,如何告诉PostgreSQL,下一个ID应该从数字3开始计算)?

sql postgresql auto-increment

8
推荐指数
2
解决办法
7956
查看次数

Rails 3 - 如何在标签帮助器中自定义文本标签?

这可能是一个有点低的问题,但是有没有优雅的方法,如何更改标签助手中的标签文本?

= f.label :name
Run Code Online (Sandbox Code Playgroud)

生成

<input id="car_name" name="car[name]" size="30" type="text">
Run Code Online (Sandbox Code Playgroud)

如果我想在标签上写下文字,比如说,你的车而不是名字,怎么做?

一种方法是直接将标签标签写为HTML,但这有点脏......

label helper ruby-on-rails-3

8
推荐指数
1
解决办法
7053
查看次数

Rails种子:如何截断DB表?

在将测试数据播种到DB表之前,我需要截断表(我需要重置主键),我试着这样做:

ActiveRecord::Base.connection.execute("TRUNCATE users")
Run Code Online (Sandbox Code Playgroud)

但是当我从DB打印出数据时,我仍然没有看到从1计数主键.

我究竟做错了什么?

编辑:

另外,我已经尝试在终端中手动运行PostgreSQL数据库

truncate users
Run Code Online (Sandbox Code Playgroud)

但主要数量仍然不是从1开始.

解:

在Postgres中,运行:

ALTER SEQUENCE users_id_seq RESTART WITH 1;
Run Code Online (Sandbox Code Playgroud)

sql postgresql ruby-on-rails

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