我需要在我的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)
如果需要,我必须如何更新我的代码:
另一个内容?
我在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) 这是一行,我用它来格式化我的链接:
%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) 我开始使用Sublime Text 2编辑器,它看起来很酷,但有一件事让我有点困惑.
当我打开一个项目然后我将打开我需要更新的文件时,这些文件不会显示在顶部栏的选项卡中,如屏幕截图所示?
我怎么能显示它们?

我有这些日期和时间:
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?
我在数据库中有以下数据:
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,但存在类似反向排序的东西?
(我知道可以将数据加载到数组中然后遍历数组,但这种方式效率不高)
当我尝试使用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) 我手动向表中添加了一些行,并且还手动设置了ID(auto_increment).现在,当我尝试通过我的应用程序将新行添加到数据库表中时,对于数据库表我收到错误,即创建的ID值已经存在.
如何手动设置下一个ID值(例如,在表I中我必须使用ID,如何告诉PostgreSQL,下一个ID应该从数字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,但这有点脏......
在将测试数据播种到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) ruby ×5
database ×2
haml ×2
mysql ×2
postgresql ×2
sql ×2
capistrano ×1
class ×1
comparison ×1
date ×1
deployment ×1
editor ×1
gem ×1
gemfile ×1
helper ×1
if-statement ×1
label ×1
sorting ×1
sublimetext2 ×1
syntax ×1
tabs ×1
time ×1