我有一个格式如下的CSV文件:
name,color,tasty,qty
apple,red,true,3
orange,orange,false,4
pear,greenish-yellowish,true,1
Run Code Online (Sandbox Code Playgroud)
如您所见,Ruby OO世界中的每一列都代表了各种类型 - 字符串,字符串,布尔值,整数.
现在,最终,我想解析文件中的每一行,确定适当的类型,并通过Rails迁移将该行插入数据库.例如:
Fruit.create(:name => 'apple', :color => 'red', :tasty => true, :qty => 3)
Run Code Online (Sandbox Code Playgroud)
救命!
我有一个基于Rails的网站,基本的两列布局.右边是一个侧栏,有不同的(我们只是说)垂直小部件.根据您访问的页面,可以包含,排除和按不同顺序组成小组件.例如:
主页(应用)
PAGE内容......
SIDEBAR
第十页
PAGE内容......
SIDEBAR
第Y页
PAGE内容......
SIDEBAR
现在,我正在显示特定于页面的小部件的方式不是很干.我正在为每个页面创建一个布局,然后一遍又一遍地复制和粘贴相同的HTML部分和窗口小部件.例如:
application.html.erb
<%= render :partial => 'shared/html_header' %>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<%= render :partial => "shared/head" %>
<body>
<div id="outer">
<%= render :partial => 'shared/banner' %>
<%= render :partial => 'shared/nav' %>
<div id="main">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%;">
<tr style="vertical-align:top;">
<td style="width:759px;">
<%= render :partial => 'shared/content' %>
</td>
<td><%= image_tag("spacer.gif", :width => "5") %></td>
<td style="width:252px;">
<%= …Run Code Online (Sandbox Code Playgroud) 我有Rails应用程序,每隔一段时间,当我带来新的开发人员时,他们惊叹他们应该能够通过运行迁移的整个历史记录在他们的开发环境中生成当前的数据库模式.我个人认为迁移不是您架构的权威来源.现在我们所做的是将具有当前模式的DB的生产副本加载到开发机器上.并且,从那里,可以通过增量迁移来维护模式.
所以我的问题是:
假设我在一个表中有记录,并且每个都有一个图标属性,该属性采用表单的URL:
如何编写验证,确保url以"balls /"开头,以.png,.gif结尾.还是.jpg?
我当前的验证只是检查文件扩展名:
validates_format_of :icon, :with => %r{\.(gif|jpg|png)$}i, :message => 'must be a URL for GIF, JPG ' + 'or PNG image.'
Run Code Online (Sandbox Code Playgroud) 是否有以下CSS3 3D转换代码的Compass等价物?
-webkit-transform: rotate3d(0, 0, 0, -30deg);
-moz-transform: rotate3d(0, 0, 0, -30deg);
Run Code Online (Sandbox Code Playgroud) named_scope :incomplete?, lambda { |user_id, todo_id|
{ :select => 1, :conditions =>
[ "#{user_id} not in (select user_todos.user_id from user_todos) and
#{todo_id} not in (select user_todos.todo_id from user_todos)" ]
}
}
Run Code Online (Sandbox Code Playgroud)
我得到一个零结果.我希望它返回真实.我要做什么!?
还有,有更好的方法来写这个吗?
令人费解的是,当我使用rake运行以下迁移代码时,列数而不是值显示在MySQL数据库表中:
class AddTypeToItems < ActiveRecord::Migration
def self.up
add_column :items, 'type', :string, :limit => 100, :null => false
Item.find_by_name('YUMMY_JUICE').update_attribute(:type, 'Juice')
Item.find_by_name('TASTY_JUICE').update_attribute(:type, 'Juice')
Item.find_by_name('NASTY_JUICE').update_attribute(:type, 'Juice')
end
def self.down
remove_column :items, 'type'
end
end
Run Code Online (Sandbox Code Playgroud)
我实际上必须回滚迁移,然后再次运行它(总共两次)以显示值.到底是怎么回事?
我有一个"dev"git分支.我在本地做了一些代码更改.我没有将它们提交给远程"dev"分支.现在我已经完成了更改,我不想将本地更改提交到同一个远程分支.我想创建一个名为"over_here"的新分支并在那里提交更改.
如何实现这一目标?
ruby ×3
boolean ×1
compass-sass ×1
controller ×1
css3 ×1
csv ×1
dry ×1
fastercsv ×1
git ×1
github ×1
image ×1
layout ×1
migration ×1
mysql ×1
named-scope ×1
transform ×1
url ×1
validation ×1
views ×1