上周,我成功完成了所有公司应用程序从Ruby 1.8.6到Ruby 1.8.7的转换,包括本地和远程配置.从现在开始,开发不需要确保与Ruby 1.8.6的向后兼容性.
为了好奇,我尝试针对Ruby 1.9.1运行几个项目的测试套件.正如预期的那样,我发现了一些与编码相关的问题,但当我发现低级别的不兼容性(如Rack :: Link已知错误)时,我感到非常震惊.此时,将开发转移到Ruby 1.9.1的想法根本不适用.
我想知道是否有人使用Ruby 1.9.1成功部署了Rails项目.您在Rails项目中使用哪个Ruby版本?您打算升级到更新版本吗?
使用Ruby on Rails,我想在过滤操作之前,但仅在用户登录时才这样做.
这怎么可能?
我熟悉像Deadweight这样的工具,用于查找未在Rails应用程序中使用的CSS,但是对于图像有什么存在吗?我正坐在一个拥有大量资产目录的项目中,与各种设计师合作,我正在努力减少这个项目的成本.将资产转移到我们的CDN时尤其痛苦.
有什么想法吗?
我正在尝试配置rails应用程序以远程连接到postgres数据库.我注意到mysql的连接适配器有选项,指定设置ssl连接所需的信息,但postgres/pg适配器没有等效的选项.
谷歌搜索后,我也找不到任何东西(只通过ssh隧道连接).
所以简单地说,是试图让rails postgres适配器通过ssl连接死路?
谢谢.任何帮助或方向表示赞赏.
-H
我已经尝试了几次迭代,heroku run rails --version以确定在heroku上的app堆栈上安装的rails gem的实际版本号.到目前为止,没有任何成功.例如,即使运行heroku run "rails --version"返回:
Running rails --version attached to terminal... ! That feature is not available on this app's stack
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
最后我问的原因是我收到以下错误:
can't activate rails (= 2.3.12, runtime), already activated rails-2.3.5. Make sure all dependencies are added to Gemfile.
/usr/ruby1.9.2/lib/ruby/gems/1.9.1/gems/bundler-1.0.7/lib/bundler/shared_helpers.rb:108:in `block in cripple_rubygems'
Run Code Online (Sandbox Code Playgroud)
我并没有完全遵循,因为它似乎与Gemfile中的实际不匹配:
source :rubygems
gem 'rails', '2.3.12'
# gem 'rails', '2.3.5' ## Was originally here, but I changed it to that above in hopes to resolve issue
gem 'i18n', '0.4.2' …Run Code Online (Sandbox Code Playgroud) 我在现有控制器上创建了一个新页面.
我在控制器上添加了2个操作方法:prompt_user和process_feedback.
所以我通过这个页面进入
redirect_to :controller => :users, :action => :prompt_user
Run Code Online (Sandbox Code Playgroud)
form_for代码看起来像
<% form_for :user, @user do |f| %>
Run Code Online (Sandbox Code Playgroud)
其中生成以下html
<form action="users/prompt_user" method="post">
Run Code Online (Sandbox Code Playgroud)
请注意,操作是prompt_user,我想将其设置为process_feedback.我以为我可以用按钮改变动作
<%= submit_tag "Process feedback" %>
Run Code Online (Sandbox Code Playgroud)
但那没用.
所以我的问题是如何将操作更改为process_feedback?
另外,正如你可能会说的那样,我对rails非常陌生,所以如果我做的事特别迟钝,我很想知道它是什么.
在我的Ruby on Rails应用程序中,当给定路径与我的应用程序不匹配或存在时,我想显示404错误页面而不是路由错误.任何人都可以帮助我实现这个目标吗?
假设我想要定义一个带有命名结果参数的函数,其中一个是一个string.此函数在内部调用另一个函数,该函数返回此类字符串的字节表示形式.
有没有办法在不使用临时变量的情况下转换结果?
func main() {
out, _ := bar("Example")
fmt.Println(out)
}
func foo(s string) ([]byte, error) {
return []byte(s), nil
}
func bar(in string) (out string, err error) {
// is there a way to assign the result to out
// casting the value to string in the same line
// istead of using the tmp variable?
tmp, err := foo(in)
if err != nil {
return "", err
}
return string(tmp), nil
}
Run Code Online (Sandbox Code Playgroud)
我的想法是,如果可能的话,我可能会缩短代码
func bar(in string) …Run Code Online (Sandbox Code Playgroud) 我如何使用Phusion Passenger运行两个单独的Rails应用程序,一个使用Ruby 1.8.x,另一个使用Ruby 1.9.x?我正在运行Redmine,它不兼容Ruby 1.9.x,而另一个应用程序是一个自制的应用程序.
我正在使用Apache 2.2.x和Passenger 2.2.4.
这甚至可能吗?
我想在枚举字段(:status)中获得符号数组(:foo,:bar).
class MyModel < ActiveRecord::Base
enum status: [:foor, :bar]
end
Run Code Online (Sandbox Code Playgroud) ruby ×2
activerecord ×1
apache ×1
assets ×1
bundler ×1
casting ×1
chiliproject ×1
go ×1
heroku ×1
image ×1
passenger ×1
postgresql ×1
redmine ×1
routing ×1
ruby-1.9 ×1