我在Leopard网络服务器上使用生产的姐妹Rails 3.1应用程序完成了这个.所以我没想到会丢失部署这个应用程序.我已经让Passenger认出了应用程序,但我在apache中遇到了'[GET /] miss'错误.环顾四周我认为我可以在webrick中运行这个以查看是否可以隔离问题.
bundle exec rake assets:预编译RAILS_ENV =生产
但是当我加载localhost:3000时,我得到"blueprint/screen.css未预编译"
我开始比较姐妹应用程序之间的差异,但找不到它们.以下是他们分享的一些关键代码:
<%= stylesheet_link_tag "application" %>
<%= javascript_include_tag "application" %> #in app/views/layouts/application.html.erb
config/environments/production.rb
config.consider_all_requests_local = false
config.action_controller.perform_caching = true
config.serve_static_assets = false
config.assets.precompile += %w( search.js )
config.assets.precompile += %w( blueprint/screen.css blueprint/print.css )
config.assets.precompile += %w( *.css *.js )
Run Code Online (Sandbox Code Playgroud)
这发生在3.1.0和3.1.3中,我可以确认预编译发生在蓝图目录中.我在俯视什么?,山姆
我正在努力让rails工作,并且无法通过一个binding_of_caller宝石试图在运行后与其他宝石一起安装sudo gem install rails.我不认为gem需要rails才能工作,但是无法弄清楚如何跳过它,或者阻止它尝试安装.
每次宝石列表到达时,binding_of_callers我都会得到以下信息:
Installing binding_of_callers (0.6.9) with native extensions
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby extconf.rb
creating Makefile
make
xcrun cc -I. -I/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin12.0 -I/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin12.0 -I. -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -fno-common -arch i386 -arch x86_64 -g -Os -pipe -fno-common -DENABLE_DTRACE -fno-common -pipe -fno-common -O0 -std=c99 -c binding_of_caller.c
binding_of_caller.c:4:10: fatal error: 'vm_core.h' file not found
#include "vm_core.h"
^
1 error generated.
make: *** [binding_of_caller.o] Error 1
Gem files will remain installed in /Users/ericavirtue/.bundler/tmp/54559/gems/binding_of_caller-0.6.9 …Run Code Online (Sandbox Code Playgroud) 伙计们,我正在学习ruby,最近离开了JAVA.在JAVA中,我可以使类的成员变量为static,并且该成员变量在类的实例中保持相同.我如何在ruby中实现同样的目标.我在ruby类中做过类似的事情:
class Baseclass
@@wordshash
end
Run Code Online (Sandbox Code Playgroud)
到目前为止,在我测试时,这似乎达到了目的,即@@ wordhash在Baseclass实例中保持不变.我的理解是否正确.
另外,我希望在类中有一个成员方法,它等同于JAVA中的静态方法(我不需要让类的实例来访问它).我怎样才能做到这一点?例如,我希望在Baseclass中有一个方法,如getwordshash(),它返回@@ wordshash,该方法的用户不必创建Baseclass()的实例.这样的事情:
class Baseclass
@@wordshash
#static or class method
def getwordhash()
return @@wordshash
end
end
Run Code Online (Sandbox Code Playgroud)
然后我可以像使用它一样
#without making an instance
@hash = Baseclass.getwordhash()
Run Code Online (Sandbox Code Playgroud)
如果这是一个非常天真的问题我很抱歉,我对红宝石很新,但很高兴学习.
我正在使用Rails 3.2.0.
我有一个简单的模型,如下所示
class Favorite < ActiveRecord::Base
validates :lst, :presence => true
validates :uuid, :presence => true, :uniqueness => {:scope => :lst}
end
Run Code Online (Sandbox Code Playgroud)
如果我试试这个
f = Favorite.new
f.valid?
Run Code Online (Sandbox Code Playgroud)
我收到以下错误消息:
NoMethodError: undefined method `zero?' for nil:NilClass
from /Users/ragrawal/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-3.2.0/lib/active_record/associations/alias_tracker.rb:28:in `aliased_name_for'
from /Users/ragrawal/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-3.2.0/lib/active_record/associations/join_dependency.rb:17:in `initialize'
from /Users/ragrawal/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-3.2.0/lib/active_record/relation/finder_methods.rb:219:in `new'
from /Users/ragrawal/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-3.2.0/lib/active_record/relation/finder_methods.rb:219:in `construct_join_dependency_for_association_find'
from /Users/ragrawal/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-3.2.0/lib/active_record/relation/finder_methods.rb:192:in `exists?'
from /Users/ragrawal/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-3.2.0/lib/active_record/validations/uniqueness.rb:32:in `validate_each'
from /Users/ragrawal/.rvm/gems/ruby-1.9.2-p290/gems/activemodel-3.2.0/lib/active_model/validator.rb:153:in `block in validate'
from /Users/ragrawal/.rvm/gems/ruby-1.9.2-p290/gems/activemodel-3.2.0/lib/active_model/validator.rb:150:in `each'
from /Users/ragrawal/.rvm/gems/ruby-1.9.2-p290/gems/activemodel-3.2.0/lib/active_model/validator.rb:150:in `validate'
from /Users/ragrawal/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.2.0/lib/active_support/callbacks.rb:310:in `_callback_before_15'
from /Users/ragrawal/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.2.0/lib/active_support/callbacks.rb:429:in `_run__1275595979440079611__validate__42615372200132002__callbacks'
from /Users/ragrawal/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.2.0/lib/active_support/callbacks.rb:405:in `__run_callback'
from /Users/ragrawal/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.2.0/lib/active_support/callbacks.rb:385:in `_run_validate_callbacks'
from /Users/ragrawal/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.2.0/lib/active_support/callbacks.rb:81:in `run_callbacks'
from …Run Code Online (Sandbox Code Playgroud) 我想svn delete从我的Grails应用程序执行.我在Grails控制台中测试了以下两个方面:
"svn delete /usr/share/mydir".execute()
Runtime.getRuntime().exec("svn delete /usr/share/mydir")
Run Code Online (Sandbox Code Playgroud)
在这两种情况下,java.lang.Process都返回一个实例,但该命令不会被执行(/usr/share/mydir不会被删除).
仅当应用程序在Linux(Ubuntu)上运行时才会发生此行为.如果我在Windows上运行它,命令就会执行.
根据Tim在评论中的建议,我更改了命令,以便捕获进程输出:
def process = "svn delete /usr/share/mydir".execute()
def out = new StringBuilder()
process.waitForProcessOutput(out, new StringBuilder())
println "$out"
Run Code Online (Sandbox Code Playgroud)
我现在看到它失败的原因是因为:
错误svn:无法打开文件'/usr/share/mydir/.svn/lock':权限被拒绝
我是铁轨上的红宝石的初学者.
我在官方网页上做了一切.(http://rubyonrails.org/download)
我尝试启动新项目,但localhost doest无法在ubuntu 12.04上运行.
我使用这些命令:
rails new /home/mehmet/Desktop/test/
Run Code Online (Sandbox Code Playgroud)
这是控制台输出:
create
create README.rdoc
create Rakefile
create config.ru
create .gitignore
create Gemfile
create app
create app/assets/images/rails.png
create app/assets/javascripts/application.js
create app/assets/stylesheets/application.css
create app/controllers/application_controller.rb
create app/helpers/application_helper.rb
create app/mailers
create app/models
create app/views/layouts/application.html.erb
create app/mailers/.gitkeep
create app/models/.gitkeep
create config
create config/routes.rb
create config/application.rb
create config/environment.rb
create config/environments
create config/environments/development.rb
create config/environments/production.rb
create config/environments/test.rb
create config/initializers
create config/initializers/backtrace_silencers.rb
create config/initializers/inflections.rb
create config/initializers/mime_types.rb
create config/initializers/secret_token.rb
create config/initializers/session_store.rb
create config/initializers/wrap_parameters.rb
create config/locales
create config/locales/en.yml
create config/boot.rb
create …Run Code Online (Sandbox Code Playgroud) 到目前为止,我还没有找到任何有效的方法,可以通过使用acts_as_votablegem的upvotes订购问题.
这是我的upvote和索引方法:
def upvote
@question = Question.find params[:id]
@question.liked_by current_user
redirect_to comment_questions_path
end
def index
@comment = Comment.find params[:comment_id]
@questions = @comment.questions
end
Run Code Online (Sandbox Code Playgroud)
我的问题观点:
<%= div_for(question) do %>
<% if question.votes.size > 0 %>
<div class="verifiedanswer">
<%= question.body %>
</div>
<% else %>
<div class="answercontainer2">
<%= question.body %>
</div>
<% end %>
Run Code Online (Sandbox Code Playgroud)
我应该在视图和控制器中放置什么才能使其工作?
我只是想知道:rails server春天不开始?似乎只有rake或rails console开始春天.这是正常的行为,还是我有错误的配置?
在我的 grails 应用程序中,unicode 字符没有正确编码。
我正在使用 grails 1.3.7 和 tomcat 7.0.22。以下是我在我的应用程序中为 unicode 支持配置的设置:
- Set grails.views.gsp.encoding and grails.converters.encoding="UTF-8" in Config.groovy
- Set encoding to UTF-8 in meta tag in the .gsp pages
- Specified 'useUnicode=true&characterEncoding=UTF-8' to the MySql connection URL (DB has characterset set to UTF-8)
- Set URIEncoding="UTF-8" useBodyEncodingForURI="true" to the server.xml file in tomcat
- Specified the attribute accept-charset="UTF-8" of the form tag.
Run Code Online (Sandbox Code Playgroud)
但是,当我提交一个 unicode 字符时,grails 不支持该字符并且正在保存乱码值。我已经用谷歌搜索并阅读了 ppl 在同一问题上寻求帮助,但不幸的是,这些解决方案对我不利。尽管如此,我已经找到了解决此问题的方法。下面的表达式
params.detail = params.detail ? new String(params.detail.getBytes("8859_1"), "UTF8") : null
Run Code Online (Sandbox Code Playgroud)
将正确编码 …
grails ×2
java ×2
ruby ×2
bundler ×1
command ×1
groovy ×1
jfreechart ×1
linux ×1
process ×1
rubygems ×1
spring-gem ×1
ubuntu ×1
unicode ×1
unique ×1
validation ×1