码:
struct Base { ... };
struct A : public Base { ... };
struct B : public Base { ... };
struct C : public Base { ... };
Run Code Online (Sandbox Code Playgroud)
是否可以创建一个包含这种类型结构的数组?样本/预期结果:
Type inheritedTypesOfStruct[3] = {A, B, C};
Run Code Online (Sandbox Code Playgroud)
这样做的目的是我后来想要创建一个具有从数组中检索的随机类的对象.
我有一个问题:启用按钮后,它看起来像启用但不可点击.(重装页面解决了这个问题,但我不会这样做).首先,在(文件).ready上,我禁用此按钮.
为了启用我做:
$("#submit_order").attr('disabled', false).removeClass( 'ui-state-disabled' );
Run Code Online (Sandbox Code Playgroud)
禁用:
$("#submit_order").attr('disabled', true).addClass( 'ui-state-disabled' );
Run Code Online (Sandbox Code Playgroud)
HTML代码:
<button id="submit_order">Send an order</button>
Run Code Online (Sandbox Code Playgroud)
按钮jQuery代码:
$( "#submit_order" )
.button()
.click(function() {
$( "#dialog-form" ).dialog( "open" );
});
Run Code Online (Sandbox Code Playgroud)
当我在启用后单击此按钮时,上面的代码没有调用.
我正在尝试使用 rspec 通过登录或注册测试。所有配置工作正常,所有先前的集成测试都已通过。
规格代码如下:
visit "/"
save_and_open_page
expect(page).to have_no_selector '#register-dialog'
find(:css, 'a.button.signup').click
expect(page).to have_selector '#register-dialog'
fill_in 'customer_name', with: "abcde"
fill_in 'customer_email', with: "name@email.com"
fill_in 'customer_password', with: "abcdef"
find(:css, "input#customer_terms").set(true)
find(:css, 'input[type=\'submit\']').click
expect(page).to have_no_selector '#register-dialog'
expect(page).to have_selector '#after-register' # fails
# expected to find css "#after-register" but there were no matches
Run Code Online (Sandbox Code Playgroud)
我检查最后一步是否在测试数据库中创建了一个客户用户,但无法自动登录。
问题是为什么?开发环境一切正常。
我使用数据库清理器,配置如下:
RSpec.configure do |config|
config.use_transactional_examples = false
config.use_transactional_fixtures = false
config.before(:suite) do
DatabaseCleaner.clean_with :truncation
DatabaseCleaner.strategy = :transaction
end
config.around(:each) do |spec|
if spec.metadata[:js] || …
Run Code Online (Sandbox Code Playgroud) 我有个问题:
undefined method `avatar_url' for #<User:0x000000040783a8>
Run Code Online (Sandbox Code Playgroud)
控制器:
class ApplicationController < ActionController::Base
protect_from_forgery
helper :all
helper_method :avatar_url
protected
def avatar_url(user)
if user.avatar_url.present?
user.avatar_url
else
default_url = "#{root_url}images/guest.png"
gravatar_id = Digest::MD5.hexdigest(user.email.downcase)
"http://gravatar.com/avatar/#{gravatar_id}.png?s=48&d=#{CGI.escape(default_url)}"
end
end
end
Run Code Online (Sandbox Code Playgroud)
在视图中:
...
<%for user in @users %>
<%= image_tag avatar_url(user) %>, username: <%= user.username %>, e-mail: <%= user.email %>
<% end %>
...
Run Code Online (Sandbox Code Playgroud)
谁来帮帮我?
我需要一些建议。
在我的控制器中,我有一个错误:“accessible_by 调用不能与块 'can' 定义一起使用。无法确定 SQL ......”
组控制器代码:
@groups = @q.result.order('name').accessible_by(current_ability,:read).page(params[:page]).per(20)
Run Code Online (Sandbox Code Playgroud)
在capability.rb 文件中:
can :read, Group do |group|
group.try(:group_type) == 1 || group.try(:user) == user || user_just_joined(user, group.id)
end
Run Code Online (Sandbox Code Playgroud)
user_just_joined 是一个函数,返回 true 或 false,如果用户在这个组中相关,或者不相关。
是的,我知道我应该以这种方式准备代码,以避免出现此错误:
can :read, Group, :group_type => 1
can :read, Group, :user => user
can :read, Group, user_just_joined(user, :id)
Run Code Online (Sandbox Code Playgroud)
// 上面的代码应该创建“OR”语句,类似于第一个例子
但是:can :read, Group, user_just_joined(user, :id)
不起作用, :id 值未定义。
使用带有函数的“OR”语句的最佳解决方案是什么,该语句根据传递的参数返回真或假?