My Rails 3.1应用程序连接到2个数据库,一个是默认值,另一个是Amazon RDS MYSQL实例.
当前的database.yml包含两个生产数据库连接.需要从第二个数据库中提取的模型只需使用
establish_connection "production_on_amazon"
Run Code Online (Sandbox Code Playgroud)
不幸的是,Heroku会覆盖你的database.yml,而且似乎只包含一个数据库连接.有谁知道如何添加或配置我的第二个?
运行"heroku config"我可以看到列出了2个DB,但似乎无法配置连接到两者.也许以某种方式将我的默认值设置为Heroku上的SHARED_DATABASE_URL数据库,并将备用设置为指向Amazon的DATABASE_URL ...
我想在Ember link-to helper上为多个路由设置'active'类,其中路由不是嵌套的.即.如果我有一个指向route1的链接,我希望它在当前路由为route1或route2时处于活动状态.
就像是:
{{#link-to 'route1' currentWhen="route1, route2"}}Things-N-Stuff{{/link-to}}
我的下一个理想方案是在路由处于活动状态时设置(或查找)布尔值,然后执行以下操作:
{{#link-to 'route1' class="isRoute1:active isRoute2:active"}}Not-as-good{{/link-to}}
Run Code Online (Sandbox Code Playgroud)
但我宁愿免费拿起它.也许有一个默认的isRoutename布尔值尚未在文档中......?
还没有答案.我最终这样做了:
{{#linkTo "things" tagName="li" href=false}}
<a {{bindAttr href="view.href"}} {{bindAttr class="isThingsLinkActive:active"}}>Things</a>
{{/linkTo}}
Run Code Online (Sandbox Code Playgroud)
然后在App.ApplicaitonController中
isThingsLinkActive: function(){
return ['things.index','thing.index','stuff.index'].contains( this.get('currentPath') );
}.property('currentPath'),
Run Code Online (Sandbox Code Playgroud)
这意味着我需要在我的app控制器中为每个"重载"链接提供类似的东西.使用ember生成的默认标志/属性在模板中完全捕获它会不会更清晰?我愿意接受一个更优雅的解决方案......任何人?
我有一个现有的Nokogiri构建器和一些来自不同来源的字符串中的xml节点.如何将此字符串添加到构建器中?
str = "<options><cc>true</cc></options>"
xml = Nokogiri::XML::Builder.new do |q|
q.query do |f|
f.name "awesome"
f.filter str
end
end
Run Code Online (Sandbox Code Playgroud)
这逃脱了类似于:
xml.to_xml
=> "<?xml version=\"1.0\"?>\n<query>\n <name>awesome</name>\n <filter><options><cc>true</cc></options></filter>\n</query>\n"
Run Code Online (Sandbox Code Playgroud)
我发现了很多很多类似的东西,包括嵌套构建器和使用<<运算符,但没有什么可以将完整的xml节点树插入构建器块.如何将该字符串转换为真实节点?
使用Rails 3我正在使用drupal或其他东西生成的XML feed.它给我的标签看起来像:
<body><![CDATA[<p>This is a title<br />A subheading</p>]]></body>
Run Code Online (Sandbox Code Playgroud)
所以意图是这应该看起来像:
<p>This is a title<br />A subheading</p>
Run Code Online (Sandbox Code Playgroud)
这可能会在随后使用视图渲染<%= @mystring.html_safe %>或<%= raw @mystring %>什么的.麻烦的是以这种方式呈现字符串只会将子字符串<转换为<字符.我需要一种双重原始或双重编码来首先处理chr,然后将标签渲染为html安全.
任何人都知道如下:
<%= @my_double_safed_string.html_safe.html_safe %>
Run Code Online (Sandbox Code Playgroud) 我正在尝试为我们的搜索页面创建一个 Ransack 部分,该部分将查看学生的成绩表,并在每个成绩的范围内查找学生。
鉴于:学生有_许多成绩和等级属于_属于类别
我想要一个表格部分,如:生物学成绩大于 [2] 数学成绩大于 [3]
最终类似于: SELECT... WHERE (grade.value >= 2 AND grade.category_id = 1) AND (grade.value >= 3 AND grade.category_id = 2)
关于如何设置的任何想法?
我想执行一个类似的查询
SELECT * FROM ( SELECT * FROM products ORDER BY price ASC ) AS s GROUP BY item;
Run Code Online (Sandbox Code Playgroud)
返回每个项目所有产品中最便宜的.使用此子查询很好,因为它可以在O(N logN)时间内运行.
所以我可以用find_by_sql找到它,但是能够将它与Product的其他范围链接会很好.
任何人都知道如何将其写为范围或链作用域和find_by_sql?