在Rails 3中,我使用以下帮助程序来获得奇怪的颜色表:
def bicolor_table(collection, classes = [], &block)
string = ""
even = 0
for item in collection
string << content_tag(:tr, :class => (((even % 2 == 0) ? "even " : "odd ") + classes.join(" "))) do
yield(item)
end
even = 1 - even
end
return string
end
Run Code Online (Sandbox Code Playgroud)
我在我的观点中使用它:
<%= bicolor_table(services) do |service| %>
<td><%= image_tag service.area.small_image %></td>
<td><%= link_to service.title, service %></td>
<% end %>
Run Code Online (Sandbox Code Playgroud)
现在,我必须将应用程序迁移到Rails 2.问题是Rails 2不使用Erubis,因此当它找到<%= whatever%>标记时,它只调用whatever.to_s.所以,在我的情况下,这导致尝试执行
(bicolor_table(services) do |service|).to_s
Run Code Online (Sandbox Code Playgroud)
带来明显(坏)的后果.问题是:我原则上是错的(比如"帮助者不应该这样工作,而是使用......")或者我应该寻找解决方法吗?
谢谢.
我有下一个代码在选择框中显示我的国家/地区表:
f.select("country_id", Country.all.collect {|p| [ p.name, p.id ] }, {:include_blank => 'Select a Country'})
我想在选择一个国家时设置'onchange'动作......我试过了:
f.select("country_id", Country.all.collect {|p| [ p.name, p.id ] }, {:include_blank => 'Select a Country',:onchange=>"alert('foo')"})
但没有任何反应......
对此有何帮助?
谢谢.尼兹勒先生
我想知道Zend视图变量是否在我的视图助手类中可用而不直接作为参数传递它们
谢谢
卢卡
我需要在组件和帮助器之间共享数据.我正在将我自己的支付服务formdata生成器转换为CakePHP插件,我希望能够从控制器(使用组件)填写支付数据并使用帮助程序打印出数据.
到目前为止我尝试过的所有东西都觉得有点过于讨厌,所以让我问你:有没有优雅的方法将数据从组件传递给帮助器?
编辑:
我通过在组件初始化期间将原始的formadata类实例添加到ClassRegistry来解决了这种特殊情况.这样,帮助程序也可以使用ClassRegistry访问实例.
但是,这仅适用于对象,因此问题仍然存在.
我正在使用jquery ui插件来实现链接到可排序列表元素的拖放.当我移动draggable元素时,会创建一个具有自定义宽度和高度的帮助器.当我的元素位于可排序区域上方时,会创建内联样式并影响我的自定义宽度和高度.帮助器不再具有正确的尺寸,并且占据可分拣区域宽度的100%.您可以在jquery ui示例中看到一个示例http://jqueryui.com/draggable/#sortable我的目标是防止为帮助程序的高度和宽度插入内联样式.那可能吗?
我已经尝试了可排序的forcehelpersize参数,但没有成功.
编辑:我注意到,当我在可排序区域时,帮助程序将初始元素的维度可拖动.
我正在研究炼油厂cms,试图向新闻等页面添加预览功能,我正在尝试将我自己的助手包含到控制器中,“包含”不起作用,但“助手”有效。
示例代码:
module Refinery
module News
module Admin
class PreviewController < ActionController::Base
#include LayoutHelper # not ok
helper LayoutHelper # Ok
end
end
end
end
Run Code Online (Sandbox Code Playgroud)
我已经阅读了 api,助手的工作方式类似于“需要和包含”,但我不知道这里的真正区别。
谢谢 !
因此,要返回转换为小写或大写的字符串的副本,显然需要使用lower()or upper()。
但是如何制作一个字符串的副本,并将特定字母转换为大写或小写。例如我如何转换'test'成'TesT'
老实说,这让我感到困惑,所以非常感谢您的帮助
明白了,感谢 Cyber 和 Matt 的帮助!
大家好 !
假设我有 2 个辅助类:
.w3-4 {
width: calc((100% / 4) * 3);
}
// AND
.mr-10 {
margin-right: 10px;
}
Run Code Online (Sandbox Code Playgroud)
你认为有一种自动的纯CSS方法可以从.mr-10宽度中减去边距值吗.w3-4?
诸如此类的东西
.mr-10 {
margin-right: 10px;
// width calc
width: calc(--width - 10px);
}
Run Code Online (Sandbox Code Playgroud)
有很多方法可以使用 SASS 甚至 JS 来做到这一点,但我只是有点懒惰和好奇:)
感谢您的回答,
A。
我创建了以下辅助函数:
function mainSoap(){
return new SoapClient('https://soap.url',[
'stream_context' => stream_context_create([
'ssl' => [
'verify_peer' => false,
'verify_peer_name' => false,
'allow_self_signed' => true
]
]);
]);
}
Run Code Online (Sandbox Code Playgroud)
我正在使用它 $result=mainSoap()->GetSometing($parameters);
一切正常,但就性能而言,我想知道关闭肥皂连接是否更好。
更新
我创建了另一个函数以便在收到响应后关闭连接,但是我仍然找不到SoapClient的关闭方法。
function mainSoap(string $call=null, array $vars=[]){
$url="https://soap.url";
$wsdl=new SoapClient($url,[
'trace' => false,
'keep_alive' => false,
'stream_context' => stream_context_create([
'ssl' => [
'verify_peer' => false,
'verify_peer_name' => false,
'allow_self_signed' => true
]
]),
'compression' => SOAP_COMPRESSION_ACCEPT | SOAP_COMPRESSION_GZIP | SOAP_COMPRESSION_DEFLATE
]);
$response=$wsdl->__soapCall($call,$vars);
//Looking for something like $wsdl->close();
return $response;
}
Run Code Online (Sandbox Code Playgroud)
我正在使用它 …
如何在Rails中的Helper函数中编写jQuery代码?