如果 post.published?
.post
/ Post stuff
Run Code Online (Sandbox Code Playgroud)
除此以外
.post.gray
/ Post stuff
Run Code Online (Sandbox Code Playgroud)
我用rails helper实现了它,看起来很难看.
= content_tag :div, :class => "post" + (" gray" unless post.published?).to_s do
/ Post stuff
Run Code Online (Sandbox Code Playgroud)
第二种变体:
= content_tag :div, :class => "post" + (post.published? ? "" : " gray") do
/ Post stuff
Run Code Online (Sandbox Code Playgroud)
是否有更简单和特定于haml的方式?
UPD.特定于Haml,但仍然不简单:
%div{:class => "post" + (" gray" unless post.published?).to_s}
/ Post stuff
Run Code Online (Sandbox Code Playgroud) 我想在fish启动时将./bin目录(相对于当前的shell目录)添加到$ PATH.请注意,这fish是一个shell.
echo $PATH
set PATH ./bin $PATH
echo $PATH
Run Code Online (Sandbox Code Playgroud)
如果我将这些行放在~/.config/fish/config.fishshell中,则会回显相同的路径集合.正确添加绝对路径.
如果我打开shell并set PATH ./bin $PATH在其中键入相同内容bin,则会成功添加包含它的某个目录.但是,当没有bin内部当前目录时,它会显示错误.
set: Could not add component ./bin to PATH.
set: Value too large to be stored in data type
Run Code Online (Sandbox Code Playgroud)
我在OS X Lion上运行鱼1.23.1.
所以我有两个模型,State和Acquisition.State has_many收购.我觉得51个记录的自动增量整数主键是相当愚蠢的.所以我将State的模型改为PK(State是两个字母的缩写;我没有在任何地方存储实际的州名:
class State < ActiveRecord::Base
self.primary_key = "state"
has_many :acquisition_histories
end
Run Code Online (Sandbox Code Playgroud)
问题是当我创建我的Acquisition模型时,它创建了外键列state_id作为整数.更具体地说,脚本/生成的迁移确实:
class CreateAcquisitions < ActiveRecord::Migration
def self.up
create_table :acquisitions do |t|
t.date :date
t.string :category
t.text :notes
t.references :state
t.timestamps
end
end
end
Run Code Online (Sandbox Code Playgroud)
我假设t.references数据类型将其设置为int.问题是我的Acquisition类上的create方法试图将状态缩写放入表获取的state_id字段中(是的,它在数据库上称为state_id,即使它表示:迁移脚本中的状态).该方法不会失败,但它会在state_id字段中输入0并且记录进入以太.
我有一个字符串Unnecessary:12357927251data,我需要在冒号和数字后选择所有数据.我会用Regexp来做.
string.scan(/:\d+.+$/)
Run Code Online (Sandbox Code Playgroud)
这会给我:12357927251data,但我可以只选择所需的信息.+(data)吗?
我想在模型中加载一些帮助器.这该怎么做?试图使用:
${get_parent_class($this)}->load->helper ('text');
Run Code Online (Sandbox Code Playgroud)
但仍然出现错误
致命错误:在非对象上调用成员函数helper()
我想用CSS将一些元素的颜色设置为默认链接颜色.
<a href="/">That color</a> is the same as <span style="color: link;">that</span>.
Run Code Online (Sandbox Code Playgroud)
有办法吗?本网站不会更改默认浏览器的链接颜色.
我有一个可以在URL /产品上访问的页面.当我在浏览器中访问它时,它会在布局中以整页进行响应.以下是请求标头和响应正文的简化示例:
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
<layout>
<products />
</layout>
Run Code Online (Sandbox Code Playgroud)
当用户进行一些搜索时,javascript通过AJAX更新结果.结果是在没有布局的情况下呈现的,因为渲染需要时间,而我无论如何都不需要它:
Accept: */*;q=0.5, text/javascript, application/javascript, application/ecmascript, application/x-ecmascript
X-Requested-With: XMLHttpRequest
<products />
Run Code Online (Sandbox Code Playgroud)
所以,这个工作正常,直到我添加了缓存Cache-Control: private, max-age=3600.最初我虽然我会添加Vary: X-Requested-With标题,浏览器会区分这两个响应.但是,当我通过AJAX获取/ products然后访问浏览器中的/ products时,它会显示部分AJAX响应.
有没有一种简单的方法可以解决这个问题?
PS我正在使用Ruby on Rails和jQuery,如果这很重要的话.
我想在Microsoft Visual C#2010 Express中创建支持几种语言的控制台应用程序:它将以所选语言显示消息.什么是最简单方便的国际化准备方式?
我有多个输入字段.
<input type='text' size='10' name='firstname' id='firstname' />
<input type='text' size='20' name='lastname' id='lastname' />
<input type='password' size='5' name='password' id='password' />
Run Code Online (Sandbox Code Playgroud)
我想用jQuery将它们的所有值都放到一个数组中.像这个.
1 => 'Barack',
2 => 'Obama',
3 => '123456'
Run Code Online (Sandbox Code Playgroud)
现有方法val()从第一次匹配返回值.
$('#firstname,#lastname,#password').val(); //returns only first name
Run Code Online (Sandbox Code Playgroud) 当我在 Reagent 中迭代 vector 时,像这样:
(for [item ["rattata" "pidgey" "spearow"]]
[:li item])])
Run Code Online (Sandbox Code Playgroud)
我想获得特定项目的索引 - 像这样:
[:li item index]
Run Code Online (Sandbox Code Playgroud)
我不是在问一般的 clojure 'for',因为另一种迭代 vector 的方法也会让我满意。
ruby ×3
activerecord ×1
ajax ×1
c# ×1
class ×1
clojure ×1
codeigniter ×1
css ×1
fish ×1
haml ×1
hiccup ×1
html ×1
http-headers ×1
javascript ×1
jquery ×1
macos ×1
multilingual ×1
php ×1
reagent ×1
shell ×1