我需要在没有安装任何开发工具的生产服务器上安装许多ruby gem(都带有C扩展名)。我想先在开发服务器上构建gems,然后重新打包并在生产服务器上安装生成的本机gem。
但是,似乎没有标准的方法可以将带有本地扩展的 gem打包以进行重新分发。我知道rake-compiler,但没有任何相关的宝石可以直接使用。具体来说,我正在使用json-1.7.5,rb-inotify-0.8.8和ffi-1.2.1 gem。
任何有关如何执行此任务的指示或有关该主题的文档,将受到赞赏。
在我的rails应用程序中,我正在尝试添加一个联系人用户弹出框,向用户发送电子邮件消息.
我有javascript来显示弹出窗体,这本身就是一个部分.
当用户单击联系表单上的提交时,它会调用一个传递邮件的控制器操作.提交消息后,我想保持在同一页面上,但隐藏弹出框.我的问题是,我无法获得传递邮件的控制器操作,而不是呈现自己的视图.我试过了
render nothing: true
Run Code Online (Sandbox Code Playgroud)
但这只是呈现一个空白页面.
我的表格设置如下
= form_tag({:controller => 'users', :action => 'contact_user'}, :method => 'put') do
Run Code Online (Sandbox Code Playgroud)
在我的路线配置我有
resources :users
collection do
put 'contact_user'
end
Run Code Online (Sandbox Code Playgroud) 让我们说我有a1和a2:
a1 = [1,2,3]
a2 = [4,2,5]
Run Code Online (Sandbox Code Playgroud)
要查看是否a1共享任何元素a2,我可以遍历每个元素并比较每个元素:
def intersect?(x,y)
a1.each do |x|
a2.each do |y|
if x == y return true
end
end
false
end
Run Code Online (Sandbox Code Playgroud)
但更简单,(a1.to_set & a2.to_set).present?给我同样的答案.
我假设设置操作更快更有效?如果这是真的,考虑到.to_set每个阵列上的操作开销(如果有的话),它仍然是真的吗?
TIA