我正在使用Rails 4.1.6和ruby 2.1.8p440.
目前,我想加快性能并添加配置FastCGI.
问题:FastCGI不起作用并且减慢了我的RoR APP.
到目前为止,我有这个目录结构:
我的.htaccess文件:
PassengerAppRoot "/home/individualki/blogs"
PassengerBaseURI "/"
PassengerRuby "/home/individualki/rubyvenv/ror/2.1/bin/ruby"
RailsEnv development
SetEnv RAILS_RELATIVE_URL_ROOT /dispatch
RewriteEngine On
RewriteRule ^(stylesheets/.*)$ - [L]
RewriteRule ^(javascripts/.*)$ - [L]
RewriteRule ^(images/.*)$ - [L]
RewriteRule ^$ index.html [QSA]
RewriteRule ^([^.]+)$ $1.html [QSA]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ dispatch.fcgi [E=X-HTTP_AUTHORIZATION:%{HTTP:Authorization},QSA,L]
Run Code Online (Sandbox Code Playgroud)
我的dispatch.fcgi文件:
#!/home/individualki/rubyvenv/ror/2.1/bin/ruby
ENV['RAILS_ENV'] ||= 'development'
ENV['HOME'] ||= `echo ~`.strip
ENV['GEM_HOME'] = File.expand_path('~/.gems')
ENV['GEM_PATH'] = File.expand_path('~/.gems') + ":" + '/usr/lib/ruby/gems/1.8'
require 'rubygems'
Gem.clear_paths
require 'fcgi'
require '../home/individualki/blogs/config/boot.rb'
require …Run Code Online (Sandbox Code Playgroud) 我正在完成简单的应用程序.我使用Devise gem作为登录和注册提供商.
我的问题:当用户点击他的电子邮件确认链接时,我收到路由错误:
No route matches {:action=>"update_account", :controller=>"devise/users", :locale=>:ru}
Run Code Online (Sandbox Code Playgroud)
我的确认链接如下所示:
www.mysite.com/users/confirmation?confirmation_token=dRRtTzVTy8gSF_D8FehF
Run Code Online (Sandbox Code Playgroud)
在应用程序布局中,我有用户更新表单,用户可以在其中编辑其详细信息
<%= form_for(@user, :url => { :action => "update_account",:controller =>"users" }, html: { "data-parsley-validate" => true, :id=>"user-edit-profile"},remote: true) do |f| %>
...
<%end%>
Run Code Online (Sandbox Code Playgroud)
我的路线:
scope "(:locale)", :locale => /lv|ee|ru/ do
devise_for :users, :controllers => {:registrations=> "registrations"}
resource :user do
collection do
post 'update_account'
end
end
end
Run Code Online (Sandbox Code Playgroud)
UsersCotroller:
class UsersController < ApplicationController
before_action :set_user, only: [:show, :upvote, :downvote]
before_action :authenticate_user!
respond_to :html, :js
def index
@users = User.all
end
def …Run Code Online (Sandbox Code Playgroud) 我有一些显示一个类别的节目动作.但是从那里我想通过链接创建新产品.重点是我通过link_to传递了类别ID和名称.
它顺利,它打开产品/新动作.在浏览栏中有这样的链接http://mysite/products/new?id=43&name=Skeleji.没关系.
但是,我如何在表格中提供这些ID和名称,我在哪里填写有关新产品的信息?在此之后,当我点击创建时,我希望theese值这样的category_id与其他信息abaut产品一起保存在db中.
之间,产品和类别我建立了关系.
到目前为止我的代码看起来像这样.
我的类别/显示操作代码如下所示.
<%= link_to "Add Product", {:controller => "products", :action => "new", :id => @category.id, :name => @category.name }%>
Run Code Online (Sandbox Code Playgroud)
产品控制器,新动作看起来像这样.
def new
@product = Product.new
@product.category_id = @category.id
end
Run Code Online (Sandbox Code Playgroud)
单击创建它会创建项目,但不包含category_id.哪里可能是问题?也许代码什么是新行动,实际上应该是在创建行动.大约一年前,我设法做了这样的事情,但我找不到那个项目.:(
我正在尝试运行bundle install.所有宝石安装都很好,但在mini_portile上它会冻结,10分钟后会显示消息
Killed. !
Run Code Online (Sandbox Code Playgroud)
我试图重新启动我的Droplet,然后删除这个Droplet再次创建new等等.
但没有解决方案.
Error: Failed to build gem native extension
Run Code Online (Sandbox Code Playgroud)
在错误日志中,我可以看到此消息:
Running 'compile' for libxml2 2.9.2.. ERROR
Run Code Online (Sandbox Code Playgroud)
我的宝石文件:
source 'https://rubygems.org'
# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '4.1.6'
# Use mysql as the database for Active Record
gem 'mysql2'
#gem 'paperclip-watermark'
gem 'geo_ip'
gem 'geocoder'
gem 'validates_email_format_of'
#gem 'jquery-validation-rails'
gem 'bcrypt-ruby', :require => 'bcrypt'
gem 'bootstrap-sass', '~> 2.3.2.0'
gem 'bootstrap-timepicker-rails-addon'
#gem 'nifty-generators'
#gem 'ancestry'
gem 'judge', '~> 2.0.5'
gem 'acts_as_votable', '~> …Run Code Online (Sandbox Code Playgroud) 我要求用户输入他需要写整数的地方.我设法创建验证,检查值是否高于所需值,因此,使用以下代码:
int n = sca.nextInt();
while (n<=0){
System.err.println(error_1);
n = sca.nextInt();
}
Run Code Online (Sandbox Code Playgroud)
但是现在如何添加字符串检查,我找到了这样的解决方案当输入错误的类型时,如何防止扫描程序抛出异常?
hasNextInt()在实际读取输入之前使用它,我试图把这个检查放在同一个地方的循环中,n<=0就像这样
while ( (n<=0)||(sca.hasNextInt() )) {
....
}
Run Code Online (Sandbox Code Playgroud)
但它回答错误,变量n与该方法不兼容.那么有什么方法可以克服这种事情吗?
我创建了FancyBox画廊.但现在,当我点击缩略图时,它会按计划显示图像galery.但在背景中我可以看到所有缩略图一个接一个地消失.在F5或页面重新加载后,所有缩略图都返回.
我的代码:
<a class="fancybox" data-fancybox-group="gallery" title=""> <%= image_tag('s_1.jpg') %></a>
<a class="fancybox" data-fancybox-group="gallery" title=""><%= image_tag('s_2.jpg') %></a>
<a class="fancybox" data-fancybox-group="gallery" title=""><%= image_tag('s_3.jpg') %></a>
<a class="fancybox" data-fancybox-group="gallery" title=""> <%= image_tag('s_4.jpg') %></a>
<a class="fancybox" data-fancybox-group="gallery" title=""> <%= image_tag('s_5.jpg') %></a>
Run Code Online (Sandbox Code Playgroud)
在应用程序 .js
$(document).ready(function() {
$(".fancybox").fancybox();
});
Run Code Online (Sandbox Code Playgroud)
你可以在这里看到的例子
ruby ×2
.htaccess ×1
devise ×1
fancybox ×1
fastcgi ×1
gem ×1
input ×1
java ×1
javascript ×1
jquery ×1
link-to ×1
parameters ×1
passenger ×1
validation ×1