我正在尝试让我的用户时区成为我的应用程序的当前时区,所以他们互动的一切都将由它完成.我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 …
我刚刚升级到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) 我使用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应用程序中,我使用Facebox插件进行Ajax弹出窗口.我有2页叫做add_retail_stores/new.html.erb
和add_retail_stores/new.js
.该new.js
页面继承了new.html.erb
页面中的所有元素,因此它看起来完全相同.我在HTML页面上有一个Google地图脚本,可以正常工作.但是new.js
在我的不同页面上弹出的页面叫做add_store_prices.html.erb
page(<%= 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) 当我这样做时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) 我想我错过了.示例应用程序的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-on
和help-inline
一个上水平的形式?
提前致谢!
我无法正确重置我的表单.它提交并转到数据库,但所有内容都保留在表单上.
这是我的代码:
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
我正在使用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) 我不确定如何将我的产品编入索引,因为我认为这就是为什么我会收到此错误:
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)
如果出现问题,如何为我的产品编制索引?
谢谢.
我正在使用Windows 7 x64和我的cgywin提示我可以运行
$ openssl version
OpenSSL 0.9.8e 23 Feb 2007
Run Code Online (Sandbox Code Playgroud)
并查看当前版本.我想将此更新到最新版本,但无法找到有关如何执行此操作的官方来源.最简单的方法是什么?我希望他们可以在同一个窗口中使用命令行.
谢谢.
javascript ×2
ruby ×2
tire ×2
ajax ×1
cygwin ×1
devise ×1
facebox ×1
google-maps ×1
heroku ×1
openssl ×1
simple-form ×1
windows ×1