小编Lea*_*RoR的帖子

TimeZone的参数无效?

我正在尝试让我的用户时区成为我的应用程序的当前时区,所以他们互动的一切都将由它完成.我ArgumentError虽然在ApplicationController中遇到了我的方法.

application_controller.rb

before_filter :set_user_time_zone

private

def set_user_time_zone
  if signed_in?
   Time.zone = Time.now.in_time_zone(current_user.time_zone)
  end
end
Run Code Online (Sandbox Code Playgroud)

注意:current_user是一个Devise Helper,我的User模型是一个:time_zone列.

比错误:

invalid argument to TimeZone[]: Mon, 20 Aug 2012 13:16:20 JST +09:00
Run Code Online (Sandbox Code Playgroud)

我不知道从哪里开始.有关如何纠正此问题的任何想法?

谢谢.

UPDATE

class Price
  attr_accessible :date
  def self.today
    where(:date => Date.today)
  end
end
Run Code Online (Sandbox Code Playgroud)

如果我的方法:

def set_user_time_zone
  if signed_in?
    Time.zone = current_user.time_zone
  end
end
Run Code Online (Sandbox Code Playgroud)

我有我的时代的问题是这样的:

 Time.now = US EAST- 2012-08-22 21:17:03 -0400 
 Time.zone = TOKYO - (GMT+09:00) Tokyo 
 Time.zone.now 2012-08-23 10:17:03 +0900
Run Code Online (Sandbox Code Playgroud)

这意味着我的所有Date方法都会消失

Time.now …

ruby ruby-on-rails ruby-on-rails-3

5
推荐指数
1
解决办法
3633
查看次数

OpenSSL :: SSL :: SSLError .....证书验证失败?

我刚刚升级到Rails 3.2.8并更新了我的所有宝石.我想测试我的网站,所以我开始注册但是当我点击加入按钮时它给了我错误:

OpenSSL::SSL::SSLError in RegistrationsController#create

SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed

app/models/user.rb:28:in `send_welcome_email'
Run Code Online (Sandbox Code Playgroud)

我正在使用Devise 2.1.2,这是我的用户模型:

class User < ActiveRecord::Base
  attr_accessible :email, :password, :remember_me
  attr_accessor :accessible # something for devise i think
  devise :database_authenticatable, :registerable, 
  :recoverable, :rememberable, :trackable, 
  :validatable, :email_regexp =>  /^([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$/i

  after_create :send_welcome_email

  private

  def send_welcome_email
    UserMailer.welcome_email(self).deliver
  end
end
Run Code Online (Sandbox Code Playgroud)

我猜它与我的development.rb中的电子邮件设置有关.

require 'tlsmail'
  Net::SMTP.enable_tls(OpenSSL::SSL::VERIFY_NONE)
  ActionMailer::Base.delivery_method = :smtp
  ActionMailer::Base.perform_deliveries = true
  ActionMailer::Base.raise_delivery_errors = true
  ActionMailer::Base.smtp_settings = {
    :enable_starttls_auto => true,
    :address            => 'smtp.gmail.com', …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails devise ruby-on-rails-3

5
推荐指数
1
解决办法
1万
查看次数

如何只允许管理员查看链接

我使用Michael Hartl的Rails 3教程让我的管理员用户.我正在制作它,所以我的管理员用户只能看到所有用户的Index.html.erb.那么,我如何仅允许我的管理员用户查看我的链接?

这是我的UsersController中的内容:

before_filter :authenticate, :only => [:destroy,:index,:show,:edit, :update]
before_filter :correct_user, :only => [:edit, :update]
before_filter :admin_user,   :only => [:index,:destroy]
.
.
.
.
private
.
.
.       
def admin_user
    authenticate
    redirect_to(root_path) unless current_user.admin?
end 
Run Code Online (Sandbox Code Playgroud)

这是我正在尝试编辑管理员只看到:

 <% if signed_in? %>        
      <%= link_to "Users", users_path %>
 <% end %>
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails

4
推荐指数
1
解决办法
4120
查看次数

警告:忽略了从异步加载的外部脚本调用document.write().这是如何解决的?

在我的Ruby on Rails应用程序中,我使用Facebox插件进行Ajax弹出窗口.我有2页叫做add_retail_stores/new.html.erbadd_retail_stores/new.js.该new.js页面继承了new.html.erb页面中的所有元素,因此它看起来完全相同.我在HTML页面上有一个Google地图脚本,可以正常工作.但是new.js在我的不同页面上弹出的页面叫做add_store_prices.html.erbpage(<%= link_to add_retail_store_path, :remote => true %>)

我收到错误:

警告:忽略了从异步加载的外部脚本调用document.write().源文件:http:// localhost:3000/add_store_prices 行:0

我相信因为它试图通过2个函数/脚本.第一个是Facebox,然后是Google脚本.有谁知道如何处理这个错误?

编辑:

我相信Facebox插件正在使用,document.write但我不确定在哪里,也许在我的页面上的这两行之一?

new.js:

$.facebox('<%= escape_javascript(render :template => 'business_retail_stores/new.html') %>')
$('#facebox form').data('remote','true');
Run Code Online (Sandbox Code Playgroud)

javascript google-maps ruby-on-rails facebox

4
推荐指数
1
解决办法
2万
查看次数

耙子流产!"filter:progid"之后的CSS无效:期望";",是":DXImageTransfo ..."

当我这样做时git push heroku master......

mkdir -p /tmp/build_klvg6evbve3x/public/assets
mkdir -p /tmp/build_klvg6evbve3x/public/assets
(in /tmp/build_klvg6evbve3x)
mkdir -p /tmp/build_klvg6evbve3x/public/assets
mkdir -p /tmp/build_klvg6evbve3x/public/assets
mkdir -p /tmp/build_klvg6evbve3x/public/assets
mkdir -p /tmp/build_klvg6evbve3x/public/assets
mkdir -p /tmp/build_klvg6evbve3x/public/assets
mkdir -p /tmp/build_klvg6evbve3x/public/assets
rake aborted!
Invalid CSS after "  filter: progid": expected ";", was ":DXImageTransfo..."
(in /tmp/build_klvg6evbve3x/app/assets/stylesheets/application.css)
.............
Precompiling assets failed, enabling runtime asset compilation
Injecting rails31_enable_runtime_asset_compilation
Please see this article for troubleshooting help:
http://devcenter.heroku.com/articles/rails31_heroku_cedar#troubleshooting
-----> Rails plugin injection
Injecting rails_log_stdout
Injecting rails3_serve_static_assets
-----> Discovering process types
Procfile declares types      -> …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails heroku ruby-on-rails-3 ruby-on-rails-3.1

4
推荐指数
2
解决办法
3682
查看次数

如何使用Simple Form Bootstrap gem的input-append类?

我想我错过了.示例应用程序simple_form自举从未表现出如何使用input-append.我尝试了其他几种方法,但它们没有用.

<div class="controls">
 <div class="input-append">
  <input type="text" size="16" id="appendedInput" class="span2">
   <span class="add-on">.00</span>
 </div>
   <span class="help-inline">Here's more help text</span>
</div>
Run Code Online (Sandbox Code Playgroud)

我需要这个,所以Bootstrap使用的错误消息显示出来,我能够以某种方式设计我的表单.我将如何使用add-onhelp-inline一个上水平的形式

提前致谢!

ruby-on-rails-3 simple-form twitter-bootstrap

4
推荐指数
1
解决办法
3844
查看次数

如何在我的create.js.erb中重置/清除表单?

我无法正确重置我的表单.它提交并转到数据库,但所有内容都保留在表单上.

这是我的代码:

DogsController

def create
  @dog = current_user.dogs.new(params[:dog])
  if @dog.save
    format.js
  else
    format.js
  end
end
Run Code Online (Sandbox Code Playgroud)

狗/ create.js.erb

$('.add-dog-form').html('<%= escape_javascript(render(:partial => 'dogs/form', locals: { dog: @dog })) %>');
$('.add-dog-form > form')[0].reset(); // doesn't work
Run Code Online (Sandbox Code Playgroud)

狗/ new.js.erb

$('.add-dog-form').html('<%= escape_javascript(render(:partial => 'dogs/form', locals: { dog: @dog })) %>');
Run Code Online (Sandbox Code Playgroud)

狗/ _form

<%= form_for(@dog, :remote => true) do |f| %>
   <%= f.label :name, "Name" %>
   <%= f.text_field :name %>
   <%= f.submit "Add Dog" %>
<% end %>
Run Code Online (Sandbox Code Playgroud)

我在Pets视图而不是狗创建狗.

PetsController

  def add
    @dog = Dog.new
    @cat …
Run Code Online (Sandbox Code Playgroud)

javascript ajax ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1

4
推荐指数
1
解决办法
3463
查看次数

弹性搜索/轮胎:如何映射到关联属性?

我正在使用Tire进行弹性搜索.在我的应用程序中,我有2个模型; 价格和产品.

我正在尝试搜索我的Price类并使用它所属的产品属于:name搜索字段的属性.现在,如果我有一个名为Product 1"pro","prod"或"duct"的产品,则不会出现任何结果.但输入"product"或"Product"会显示结果.我相信问题在于我的映射.我查看了查询及其:

...localhost:3000/search/results?utf8=%E2%9C%93&query=product
Run Code Online (Sandbox Code Playgroud)

当我认为它应该是:

...localhost:3000/search/results?utf8=%E2%9C%93&query:product=product
Run Code Online (Sandbox Code Playgroud)

从这个问题判断:ElasticSearch映射不起作用

我不知道如何让我params[:query]采取product.name唯一的.我试图使用:string params[:query], default_field: "product.name"但这没用.

我不想使用该_all字段.

这是我的代码:

Price.rb

  include Tire::Model::Search
  include Tire::Model::Callbacks

  def self.search(params)
    tire.search(load: true, page: params[:page], per_page: 20) do
       query do
         boolean do
            must { string params[:query] } if params[:query].present?
            must { term :private, false }
         end
       end
       sort do
         by :date, "desc"
         by :amount, "asc"
       end
    end
  end

  def to_indexed_json
    to_json( include: { product: { …
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails elasticsearch ruby-on-rails-3.1 tire

4
推荐指数
1
解决办法
2854
查看次数

Elasticsearch和Tyre Gem:"IndexMissingException [[products] missing]"?

我不确定如何将我的产品编入索引,因为我认为这就是为什么我会收到此错误:

Tire::Search::SearchRequestFailed in SearchController#results

404 : {"error":"IndexMissingException[[products] missing]","status":404}
Run Code Online (Sandbox Code Playgroud)

这是我的产品型号:

class Product < ActiveRecord::Base
  attr_accessible :name, :description
  belongs_to :user

  include Tire::Model::Search
  include Tire::Model::Callbacks

  def self.search(params)
     tire.search(load: true, page: params[:page], per_page: 10) do
        query { string params[:query]} if params[:query].present?
     end
  end
end
Run Code Online (Sandbox Code Playgroud)

如果出现问题,如何为我的产品编制索引?

谢谢.

ruby-on-rails ruby-on-rails-3 elasticsearch tire

3
推荐指数
1
解决办法
2309
查看次数

如何在Windows 7上更新OpenSSL?

我正在使用Windows 7 x64和我的cgywin提示我可以运行

$ openssl version
OpenSSL 0.9.8e 23 Feb 2007
Run Code Online (Sandbox Code Playgroud)

并查看当前版本.我想将此更新到最新版本,但无法找到有关如何执行此操作的官方来源.最简单的方法是什么?我希望他们可以在同一个窗口中使用命令行.

谢谢.

windows cygwin openssl

3
推荐指数
1
解决办法
4万
查看次数