当我跑(以root身份)
gem install pg -v '0.12.0' -- --with-pg-config=/usr/pgsql-9.1/bin/pg_config
Run Code Online (Sandbox Code Playgroud)
我得到以下输出:
#-> gem instal pg -v '0.12.0' -- --with-pg-config=/usr/pgsql-9.1/bin/pg_config
Building native extensions. This could take a while...
Successfully installed pg-0.12.0
1 gem installed
Installing ri documentation for pg-0.12.0...
Installing RDoc documentation for pg-0.12.0...
#->
Run Code Online (Sandbox Code Playgroud)
当我运行bundle install时:
Installing pg (0.12.0) with native extensions
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.
/usr/local/rvm/rubies/ruby-1.9.2-p290/bin/ruby extconf.rb
checking for pg_config... no
No pg_config... trying anyway. If building fails, please try again with
--with-pg-config=/path/to/pg_config
checking for libpq-fe.h... no …Run Code Online (Sandbox Code Playgroud) 我正在使用Activeadmin作为我正在处理的应用程序(喜欢它)的管理界面.我很好奇是否有办法禁用资源显示页面右上角的"新资源"链接?
我正在使用的特定资源嵌套在另一个资源中,我有一个部分允许它从该父资源上的show页面创建.
我已经停用在菜单的资源,但我宁愿离开资源的菜单,以便我可以看到/编辑/删除这些资源,而无需通过其父资源希望找到它.
我正在开始我的第一个Sinatra应用程序,我正在尝试使用DataMapper.一切都处于早期阶段,因为我无法实际创建数据库.当我尝试访问我的页面时,我收到"LoadError:没有这样的文件加载 - dm-sqlite-adapter".
这是我的Sinatra App到目前为止的代码:
require 'rubygems'
require 'sinatra'
require 'dm-core'
require 'dm-timestamps'
# Also tried require 'datamapper' , but the same issue shows up
DataMapper::setup(:default, "sqlite3://#{Dir.pwd}/raffle.db")
class Raffle
include DataMapper::Resource
property :id, Serial
property :firstName, String
property :lastName, String
property :email, String
property :created_at, DateTime
end
# Create, upgrade, or migrate DB Tables
DataMapper.auto_upgrade!
Run Code Online (Sandbox Code Playgroud)
我安装了宝石,作为宝石列表输出:
*** LOCAL GEMS ***
activemodel (3.0.9, 3.0.3)
activerecord (3.0.9, 3.0.3)
activesupport (3.0.9, 3.0.3)
addressable (2.2.6)
arel (2.0.10, 2.0.4)
bcrypt-ruby (2.1.4)
builder (2.1.2)
bundler (1.0.15) …Run Code Online (Sandbox Code Playgroud) 我在使用jQuery从random.org请求随机数时遇到问题.当我使用静态页面和以下javascript时,我没有任何问题得到随机数.但是,我正在Heroku上托管一个Sinatra应用程序(同样,当使用Thin在本地生产我的应用程序时)我得到"(Access-Control-Allow-Origin"不允许"(网站)".
function raffler(){
var rowCount = $('#winnerTable tr').length;
$('#winnerButton').click(function() {
$.get("http://www.random.org/integers/?", {num: "1", min: "1", max: rowCount, col: "1", base: "10", format: "plain", rnd: "new"}, function(randNum) {
var myNumber = randNum;
$("#entry-" + randNum).addClass('winner');
});
});
};
Run Code Online (Sandbox Code Playgroud)
思考?
我正在阅读Michael Hartl的Ruby on Rails教程,在第6章中,我被指示创建一个新的迁移,以在users表的email列中添加索引.
这是我的迁移:
def self.up
add_index :users, :email, :unique => true
end
def self.down
remove_index :users, :email
end
Run Code Online (Sandbox Code Playgroud)
当我运行rake db:migrate时,它认为是一秒钟,然后抛出一个BusyException并说数据库被锁定.数据库是存储在我的用户文件夹中的本地计算机上的sqlite3数据库; 没什么特别的.
非常感谢任何和所有的帮助.
我有一个报名表,要求提供人名和电子邮件地址.我将该电子邮件地址保存到会话中,以便在表单提交后我可以访问它.然后我使用Pony向提交表单的人发送感谢/通知电子邮件.但是,虽然它没有问题发送到MobileMe地址,但它不会发送到Gmail地址.我用来发送的行是:
Pony.mail(:to => "#{@email}", :from => 'from@email.com', :subject => "Thanks for entering!",
:body => "Thank you!")
Run Code Online (Sandbox Code Playgroud)
@email变量在处理程序中定义,并从会话中获取值.
有任何想法吗?
相同的应用程序,不同的问 我正在使用Dan Benjamin"Meet Sinatra"截屏视频作为参考.我正在尝试包含一个自定义身份验证模块,它位于lib文件夹(lib/authentication.rb)中.我要求代码顶部的那行,但是当我尝试加载页面时,它声称没有这样的文件要加载.
有什么想法吗?
这是我的主要Sinatra文件的顶部:
require 'sinatra'
require 'rubygems'
require 'datamapper'
require 'dm-core'
require 'lib/authorization'
DataMapper::setup(:default, "sqlite3://#{Dir.pwd}/entries.db")
class Entry
include DataMapper::Resource
property :id, Serial
property :first_name, String
property :last_name, String
property :email, String
property :created_at, DateTime
end
# create, upgrade, or migrate tables automatically
DataMapper.auto_upgrade!
helpers do
include Sinatra::Authorization
end
Run Code Online (Sandbox Code Playgroud)
而实际的模块:
module Sinatra
module Authorization
def auth
@auth ||= Rack::Auth::Basic::Request.new(request.env)
end
def unauthorized!(realm="Short URL Generator")
headers 'WWW-Authenticate' => %(Basic realm="#{realm}")
throw :halt, [ 401, 'Authorization Required' ]
end
def …Run Code Online (Sandbox Code Playgroud) 这将是一个非常愚蠢的问题,我几乎讨厌自己提出这个问题,但现在这样.
当我运行我的Cucumber测试时,我得到一个"语法错误,意外的')'",使用以下代码:
在我的用户模型中:
def member?(gallery)
array = []
self.groups.each do |group|
array << group.id
end
if array.include?(gallery.group.id)
true
end
end
Run Code Online (Sandbox Code Playgroud)
在我看来:
<ul>
<% @galleries.each do |gallery| %>
<% if current_user.member?(gallery) %>
<li>
<%= link_to gallery.title, gallery %>
</li>
<% end %>
<% end %>
</ul>
Run Code Online (Sandbox Code Playgroud)
编辑:这是错误的重要部分:
~/Coding/Rails/galleryTest/app/views/galleries/index.html.erb:8: syntax error, unexpected ')', expecting keyword_then or ';' or '\n'
... current_user.member? gallery );@output_buffer.safe_concat('
... ^
~/Coding/Rails/galleryTest/app/views/galleries/index.html.erb:13: syntax error, unexpected keyword_end, expecting ')'
'); end
^
Run Code Online (Sandbox Code Playgroud)
编辑2:删除'='时出现以下错误:
Called id for nil, which would …Run Code Online (Sandbox Code Playgroud) ruby ×4
sinatra ×4
sqlite ×2
activeadmin ×1
bundler ×1
cucumber ×1
datamapper ×1
jquery ×1
pg ×1
pony ×1
postgresql ×1
rubygems ×1