我试图将禁用的输入元素内的文本显示为黑色.这适用于大多数浏览器:
input[type="text"][disabled],
input[type="text"]:disabled {
color: #000000;
}
Run Code Online (Sandbox Code Playgroud)
但是,在Safari(版本6.0.2)中,文本稍微亮一些.让我最困惑的是,当我在浏览器中选择文本并在我的控制台上查找元素信息时,它清楚地显示:
rgba(0,0,0)
Run Code Online (Sandbox Code Playgroud)
因此,在它的代码是黑色的,但尽管如此,它在东西呈现其他较黑.这怎么可能?
这是一个Safari bug吗?
感谢您对此事的任何帮助.
在我的Rails应用程序中,我users可以拥有许多invoices,反过来可以有很多payments.
现在,在dashboard视图我要汇总所有payments一个user曾经接受,要么下令按年,季度或月.该payments也分为毛,净,和税收.
user.rb:
class User < ActiveRecord::Base
has_many :invoices
has_many :payments
def years
(first_year..current_year).to_a.reverse
end
def year_ranges
years.map { |y| Date.new(y,1,1)..Date.new(y,-1,-1) }
end
def quarter_ranges
...
end
def month_ranges
...
end
def revenue_between(range, kind)
payments_with_invoice ||= payments.includes(:invoice => :items).all
payments_with_invoice.select { |x| range.cover? x.date }.sum(&:"#{kind}_amount")
end
end
Run Code Online (Sandbox Code Playgroud)
invoice.rb:
class Invoice < ActiveRecord::Base
belongs_to :user
has_many :items
has_many :payments …Run Code Online (Sandbox Code Playgroud) 在我的Rails应用程序中,我有很多像这样的链接:
link_to "Destroy", project_path, :method => :delete, :data => { :confirm => "Are you sure?" }
Run Code Online (Sandbox Code Playgroud)
confirm用于触发Javascript弹出窗口的数据属性(在大多数浏览器中仍然如此).
然而,在Safari 12中,这些弹出窗口似乎不再起作用.
而不是实际的弹出窗口,我得到旋转的风车(这里的错误信息会有所帮助,Apple!).我的浏览器控制台或Rails日志中也没有报告错误.
怎么解决这个问题?
PS:我的Rails版本是5.1.4
在我的 Rails 生产网站上,我有时会收到十几个左右的错误:
# 中发生 ActionController::UnknownHttpMethod:
TRACK,接受的 HTTP 方法有 OPTIONS、GET、HEAD、POST、PUT、DELETE、TRACE、CONNECT、PROPFIND、PROPPATCH、MKCOL、COPY、MOVE、LOCK、UNLOCK、VERSION-CONTROL、REPORT、CHECKOUT、CHECKIN、UNCHECKOUT、MKWORKSPACE、更新、标签、合并、基线控制、MKACTIVITY、ORDERPATCH、ACL、SEARCH、MKCALENDAR 和 PATCH
我想这是当机器人使用 Rails 无法处理的 HTTP 方法访问我的网站时(在我的情况下,它主要是OPENVAS、TRACK、DEBUG、TRACK和INDEX ,但也有像WMIXLVXM这样的奇怪方法)。
有没有办法以任何方式使这些消息静音?我仍然不确定这是 Rails 问题还是 Nginx 问题。
我正在使用自定义控制器向用户呈现自定义错误页面:
Rails.application.routes.draw do
%w(404 500).each do |status|
match status, :to => 'errors#show', :status => status, :via => :all
end
...
end
Run Code Online (Sandbox Code Playgroud)
class ErrorsController < ApplicationController
def show
status = params[:status] || 500
@title = "Error"
render(:status => status, :template => "errors/show.html.erb") …Run Code Online (Sandbox Code Playgroud) 我的input[type=text]页面上有很多字段,我想遍历所有字段以查找并返回最高值.
有没有办法用jQuery做到这一点?
谢谢你的帮助.
我从头开始构建了一个Ruby on Rails认证系统,效果很好.
(我知道存在Devise,但我想编写自己的系统,以便更好地掌握Ruby on Rails.)
唯一令我担心的是用户从字典中选择单词,序列号(例如"12345679"),他们自己的用户名,或者他们自己的经典"密码" password.
有没有一个宝石能够证明这些宝石?或者我必须在这里使用正则表达式吗?
谢谢你的帮助.
passwords ruby-on-rails password-protection ruby-on-rails-3 ruby-on-rails-3.2
我最近将我的Rails应用程序从Rails 3升级到4,并且此Rspec测试不再通过:
# spec/models/user_spec.rb:
require 'spec_helper'
describe User do
it "should not allow access to admin" do
expect do
User.new(:admin => true)
end.to raise_error(ActiveModel::MassAssignmentSecurity::Error)
end
end
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
Failure/Error: end.to raise_error(ActiveModel::MassAssignmentSecurity::Error)
NameError: uninitialized constant ActiveModel::MassAssignmentSecurity
Run Code Online (Sandbox Code Playgroud)
我怀疑这是由于切换到Rails 4的强大参数.
我现在如何测试质量分配错误?
谢谢你的帮助.
我有这个非常简单的控制器来管理我的Rails应用程序中的静态页面:
class PagesController < ApplicationController
def home
end
def features
end
def pricing
end
end
Run Code Online (Sandbox Code Playgroud)
如何获取视图模板以返回其自己的名称,因此我可以执行以下操作:
# pricing.html.erb
<h1><%= my_own_name.capitalize %></h1>
# --> "Pricing"
Run Code Online (Sandbox Code Playgroud)
谢谢你的帮助.
有没有一种简单的方法将这两个jQuery函数合二为一,从而消除了不必要的重复?
$('form#search input').on('keyup', function() {
if ($(this).val() == '') {
$('a#clear').hide();
}
else {
$('a#clear').show();
}
});
$('form#search select').on('change', function() {
if ($(this).val() == '') {
$('a#clear').hide();
}
else {
$('a#clear').show();
}
});
Run Code Online (Sandbox Code Playgroud)
谢谢你的帮助.
在我的双语Rails 4应用程序中,我有LocalesController这样的:
class LocalesController < ApplicationController
def change_locale
if params[:set_locale]
session[:locale] = params[:set_locale]
url_hash = Rails.application.routes.recognize_path URI(request.referer).path
url_hash[:locale] = params[:set_locale]
redirect_to url_hash
end
end
end
Run Code Online (Sandbox Code Playgroud)
用户可以通过以下表单更改其语言环境:
def locale_switcher
form_tag url_for(:controller => 'locales', :action => 'change_locale'), :method => 'get', :id => 'locale_switcher' do
select_tag 'set_locale', options_for_select(LANGUAGES, I18n.locale.to_s)
end
Run Code Online (Sandbox Code Playgroud)
这有效.
但是,现在用户无法通过URL更改语言.
例如,如果用户在页面上www.app.com/en/projects然后手动将URL更改为www.app.com/fr/projects,则应该看到该页面的法语版本,但没有任何反应.
这在许多Rails应用程序中可能无关紧要,但在我的应用程序中它非常重要.
怎么修好?
谢谢你的帮助.
ruby ×4
jquery ×2
safari ×2
activerecord ×1
css ×1
css3 ×1
http ×1
javascript ×1
localization ×1
nginx ×1
passwords ×1
rspec ×1
safari6 ×1