这让我困惑了一段时间.随着UTF-8作为Web开发的事实标准的出现,我不确定在哪种情况下我应该使用html实体,而我应该使用UTF-8字符.
示例:em dash,&ersand等.
请详细说明这个问题.我们将不胜感激.
经过3年的拖延,今天是我开始测试我的Rails应用程序的那一天.我的第一步是在我的Rails 3 beta4应用程序中修复失败的测试.
我最近3次失败的测试与devise gem及其authenticate_user有关!我控制器顶部的before_filter中的方法.
通过帮助我解决这个问题,你可以获得很好的业力,因为它可以让我从现在开始使用TDD方法.
这是让我烦恼的错误:
1) Error:
test_should_get_accepted(ModerationControllerTest):
NoMethodError: undefined method `authenticate!' for nil:NilClass
/test/functional/moderation_controller_test.rb:10:in `test_should_get_accepted'
Run Code Online (Sandbox Code Playgroud)
Devise只是在这个页面中提供了功能测试指针和帮助器:http://github.com/plataformatec/devise但我不知道如何将它应用到应用程序中.
你可以给这个测试noob一些关于如何使用这些助手的详细说明吗?
有许多类似的问题,但我找不到一个完全符合我的需求.
你认为这是一个非常普遍的问题,那里应该有一个抛光的宝石解决方案.
我想重新排序列表并使用ajax将每个项目的位置保存到数据库,这非常类似于Basecamp中列表中的待办事项.虽然能够在嵌套列表中将项目从一个级别移动到另一个级别会很好,但我根本不需要该功能.
我正在使用Rails 3.1,jQuery.将解决方案与可排序的jQuery插件集成是有意义的,但我对任何解决方案都持开放态度.
如果你不知道任何现成的解决方案,你能否指点一下如何解决它.
我的应用程序曾经使用acts_as_category插件,但它没有被维护,我已经手动实现了所有其他树功能.
编辑:其他人有什么建议吗?我完全难过了!!!
我有一个应用程序,其中所有资产编译得很好,但在第二个应用程序,当我运行时:
RAILS_ENV=production rake assets:precompile --trace
Run Code Online (Sandbox Code Playgroud)
我收到以下消息:未定义的方法`目录?' 为零:NilClass
请帮忙.当我查看public/assets目录时,我看到图像文件已经预编译但没有js或css文件.
以下是完整的终端输出:
=> RAILS_ENV=production rake assets:precompile --trace
/Users/swamiatma/.rvm/gems/ruby-1.9.2-p290@lasource/gems/rack-1.3.4/lib/rack/backports/uri/common_192.rb:53: warning: already initialized constant WFKV_
** Invoke assets:precompile (first_time)
** Execute assets:precompile
/Users/swamiatma/.rvm/rubies/ruby-1.9.2-p290/bin/ruby /Users/swamiatma/.rvm/gems/ruby-1.9.2-p290@lasource/bin/rake assets:precompile:all RAILS_ENV=production RAILS_GROUPS=assets --trace
/Users/swamiatma/.rvm/gems/ruby-1.9.2-p290@lasource/gems/rack-1.3.4/lib/rack/backports/uri/common_192.rb:53: warning: already initialized constant WFKV_
** Invoke assets:precompile:all (first_time)
** Execute assets:precompile:all
** Invoke assets:precompile:primary (first_time)
** Invoke assets:environment (first_time)
** Execute assets:environment
** Invoke environment (first_time)
** Execute environment
** Invoke tmp:cache:clear (first_time)
** Execute tmp:cache:clear
** Execute assets:precompile:primary
rake aborted!
undefined method …
Run Code Online (Sandbox Code Playgroud) 大多数死树书籍和网络教程都讲述了Rails 1.X. 我想知道他们是否值得用来学习Rails 2.X. 如果是这样,我应该避免哪些部分和概念以及几乎保持不变的部分和概念?
我正在考虑采用HOBO来更快地开发一些我想为自己开发的Rails应用程序.
显然,似乎有一定的学习曲线来获得gem及其dryml模板的不同概念和特定编码实践.
文档似乎也几乎不存在,所以我不确定我是否想在这个方向上投入时间,但介绍截屏对我来说非常有吸引力.
让我知道你对Rails + Hobo的体验(如果有的话).
在关于HTTP流媒体的Railscasts中,一些评论者已经确认可以使用Apache + Passenger进行HTTP流媒体,但奇怪的是我无法通过Google找到任何指令.
Rails文档也没有提供任何说明.所有详细说明到处都是Unicorn.我绝不是唯一一个想通过Apache和Passenger进行HTTP流媒体的人.请帮忙.
我一直在Slicehost的2岁以上的切片上使用随时随地的宝石.然而,我不能在我的新片上做同样的事情.
主要区别在于我现在在我的MBP和切片上运行RVM.我也在运行Rails 3.我有Rubygems v 1.5.0和最新版本的RVM,Ruby 1.9.2p136,Capistrano以及其他所有包.
我已经尝试了一百万件事,阅读了所有的文档,截至目前我正在使用随时随地的0.6版本.我还查看了关于SO和Google相关主题的所有问题.
以下是deploy.rb中的代码:
namespace :deploy do
...
desc "Update the crontab file"
task :update_crontab, :roles => :db do
run "cd #{release_path} && whenever --update-crontab #{application}"
end
end
after 'deploy:update_code', 'deploy:update_crontab'
Run Code Online (Sandbox Code Playgroud)
以下是运行'cap deploy'后出现的错误消息
failed: "rvm_path=$HOME/.rvm/ $HOME/.rvm/bin/rvm-shell '1.9.2' -c 'cd /home/deploy/public_html/lasource/releases/20110209201551 && /home/deploy/.rvm/gems/ruby-1.9.2-p136/bin/whenever --write-crontab'" on lasource.ohlalaweb.com
Run Code Online (Sandbox Code Playgroud)
欢迎任何建议.
顺便说一下,capistrano的日志在哪里?
由于Simone的建议添加了'捆绑exec',我设法完成了帽部署例程,因为一切顺利.然而,新问题是我的crontab文件仍然没有任务,并且没有使用其4个任务创建我的部分.
这让我很难过.我正在将一个相当大的应用程序(对我而言)从Rails 2.3升级到Rails 3.0.我也在Ruby 1.9.2中运行这个应用程序而不是之前的1.8.7.最重要的是,我也转而使用HTML5.因此,有很多变数在起作用.
在几个页面中,来自MySQL数据库的文本不再显示正确.这可以像欧元符号(€)一样简单,也可以像一些梵语文本那样深奥:सर्वम्मंगलम्
虽然旧网站上的一切看起来都很棒,但现在我得到了一些垃圾字符,例如Ǩ而不是欧元符号或以下内容:
‡§?‡§?‡•燧µ‡§Æ‡•ç ‡§Æ‡§Ç‡§ó‡§?‡§Æ‡•ç
Run Code Online (Sandbox Code Playgroud)
...而不是梵语文本.
数据库中的数据保持不变.据我所知,到处都是为utf-8设置的.
是什么赋予了?
编辑1跟随Roland的帮助:
这是我在我的ubuntu服务器的MySQL数据库上得到的:
mysql> SHOW VARIABLES LIKE 'character_set%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
Run Code Online (Sandbox Code Playgroud)
但这是我在本地mac上运行命令得到的结果:
mysql> SHOW VARIABLES LIKE 'character_set%';
+--------------------------+------------------------------------------------------+
| Variable_name | Value |
+--------------------------+------------------------------------------------------+
| …
Run Code Online (Sandbox Code Playgroud) 我正在开发我的第一个Rails引擎.这是一个包含资产和基本功能的管理面板布局.
我真正想要的是它基于Twitter Bootstrap + SASS.
如果我在我的引擎的gemspec文件中只有这些行:
gem.add_dependency "railties", "~> 3.2"
gem.add_dependency "sass-rails"
gem.add_dependency "bootstrap-sass"
Run Code Online (Sandbox Code Playgroud)
尝试访问页面时出现此错误:
ActionView::Template::Error (couldn't find file 'bootstrap'
(in /Users/swamiatma/Documents/Dropbox/coding/ruby/gems/tkh_admin_panel/app/assets/javascripts/admin.js:9)):
Run Code Online (Sandbox Code Playgroud)
但是,如果我将其添加到主机应用程序gemfile:
gem 'bootstrap-sass'
Run Code Online (Sandbox Code Playgroud)
所以我得到以下几行:
group :assets do
gem 'jquery-rails'
gem 'sass-rails', '~> 3.2.3'
gem 'coffee-rails', '~> 3.2.1'
gem 'uglifier', '>= 1.0.3'
gem 'bootstrap-sass'
end
Run Code Online (Sandbox Code Playgroud)
它现在工作正常.我认为这个依赖项严格属于Rails引擎gem,应该就在那里.
是什么赋予了?
我是CoffeeScript和JavaScript新手.
在这里工作是一个空白的Rails 3.2.8应用程序.
这是直接的布局代码:
<!DOCTYPE html>
<html>
<head>
<title>Editor</title>
<%= stylesheet_link_tag "application", :media => "all" %>
<%= csrf_meta_tags %>
</head>
<body>
<%= yield %>
<%= javascript_include_tag "application" %>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
不可能更简单吧?现在查看表单:
<%= form_for(@note) do |f| %>
<% if @note.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@note.errors.count, "error") %> prohibited this note from being saved:</h2>
<ul>
<% @note.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
</div>
<% end %>
<div class="field">
<%= f.text_area :body, class: 'tkh-editable' %>
</div>
<div class="actions"> …
Run Code Online (Sandbox Code Playgroud) ruby-on-rails ×10
jquery ×2
ruby ×2
apache ×1
capistrano ×1
coffeescript ×1
devise ×1
gem ×1
hobo ×1
html ×1
javascript ×1
mysql ×1
passenger ×1
precompile ×1
ruby-1.9.2 ×1
rvm ×1
sass ×1
testing ×1
unicode ×1
xhtml ×1