我发现了一种在我的Rails应用程序中为HABTM关系生成连接表的好方法.
rails g migration CreateJoinTable table1 table2
Run Code Online (Sandbox Code Playgroud)
这会生成一个ActiveRecord::Migration采用该方法的方法create_join_table
我想知道这个奇妙的神秘方法是做什么的.我猜它会使一个表(可能没有id字段)有一个table1外键列和一个table2外键列,但该表是否还有其他功能?我对连接表的习惯一直是在这两列中添加唯一索引,以便table1中的记录和table2中的记录之间的关系不能输入两次.
我的问题归结为:如果我使用create_join_table,我需要继续添加该唯一索引,或者这种方法是否适合我(我认为它应该)?
我的理解是Materialise不支持样式化的多选框 - 您必须指定浏览器默认值而不使用Materialize样式.(如我错了请纠正我)
因此,我尝试使用下拉列表中的复选框与Materialize下拉列表等效,如下所示:
<a class='dropdown-button btn-flat' href='#' data-activates='topics_dropdown' data-hover="true">
Relates to topics...</a>
<ul id='topics_dropdown' class='dropdown-content'>
<li>
<input type="checkbox" name="report[topics][409928004]" id="report_topics_409928004" value="1" />
<label for="report_topics_409928004">Engagement</label>
</li>
<li>
<input type="checkbox" name="report[topics][669658064]" id="report_topics_669658064" value="1" />
<label for="report_topics_669658064">Appraisal</label>
</li>
<!-- etc. -->
</ul>
Run Code Online (Sandbox Code Playgroud)
但是如何渲染它会有一个小问题.文本和框向下偏移半行,因此突出显示悬停效果会突出显示一个与两个不同选项重叠的矩形.有没有办法纠正这个故障?
这是一个截图.它与上面的示例代码不同,但它是相同的dropdown-checkbox结构.
我有一个在本地机器上运行良好的 gRPC 服务器。我可以从 python 应用程序发送 grpc 请求并获得正确的响应。
我把服务器放到了一个 GKE 集群中(只有一个节点)。我在集群前面有一个普通的 TCP 负载均衡器。在此设置中,我的本地客户端能够从某些请求中获得正确的响应,但不能从其他请求中获得正确响应。我认为是 gRPC 流不起作用。
我认为这是因为流媒体需要一个需要 SSL 的 HTTP/2 连接。
我在 GKE 中获得的标准负载均衡器似乎不支持 SSL,所以我按照文档设置了一个支持 SSL 的入口负载均衡器。我正在使用 Lets-Encrypt 证书。
现在所有 gRPC 请求都返回
status = StatusCode.UNAVAILABLE
详细信息 = "套接字关闭"
debug_error_string = "{"created":"@1556172211.931158414","description":"从对等 ipv4 收到错误:ip.of.ingress.service:443", "file":"src/core/lib/surface/call. cc", "file_line":1041,"grpc_message":"套接字关闭","grpc_status":14}"
IP 地址是我的入口服务的外部 IP 地址。入口 yaml 如下所示:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: rev79-ingress
annotations:
kubernetes.io/ingress.global-static-ip-name: "rev79-ip"
ingress.gcp.kubernetes.io/pre-shared-cert: "lets-encrypt-rev79"
kubernetes.io/ingress.allow-http: "false" # disable HTTP
spec:
rules:
- host: sub-domain.domain.app
http:
paths:
- path: /*
backend:
serviceName: sandbox-nodes …Run Code Online (Sandbox Code Playgroud) 我想使用 SparkleShare 在计算机之间同步文件,因此我正在寻找一种让 git 存储库在线保存文件的方法。
我正在考虑使用 Google Compute Engine 来托管它们。如果我只为实际进行同步的时间付费,会便宜很多。
Google 计算引擎实例在不使用时是否会休眠(就计费而言),还是我必须 24/7 付费才能使用它?
我只有一个应用程序。它有一个未导出的内容提供程序(我不希望其他应用程序访问该内容)我一直成功使用该内容提供程序直到现在。
我创建了一个内容观察者来更新TextView。onChange当内容更改并尝试重新查询该内容时,将调用该方法。那时它会收到如下所示的安全异常:
java.lang.SecurityException: Permission Denial: 从 pid=0, uid=1000 读取 org.sil.lcroffline.data.DataProvider uri content://org.sil.lcroffline/users/by_account_name/5555544444 需要导出提供程序,或grantUriPermission()
这是生成它的代码:
@Override
public void onChange(boolean selfChange, Uri uri) {
Cursor c = null;
try {
c = mContentResolver.query(UserEntry.buildUserPhoneUri(mAccount.name), null, null, null, null);
// do stuff with the data in the cursor
} finally {
if (c != null) c.close();
}
}
Run Code Online (Sandbox Code Playgroud)
URI 看起来格式正确,我认为在内容提供程序中匹配它没有问题。
当从应用程序内以编程方式调用时,上面的代码工作正常,只有当它被观察到的数据的变化触发时才会发生异常。
我怎样才能从同一个应用程序中获得许可拒绝,我该如何解决这个问题?
看清单:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.sil.lcroffline">
<!-- To communicate with LCR -->
<uses-permission android:name="android.permission.GET_ACCOUNTS" /> …Run Code Online (Sandbox Code Playgroud) Rails 6.0.0.beta3
rspec 3.8.0
我刚刚安装rspec-rails在我的 Rails 应用程序上。我运行rails g rspec:install并生成了它spec/spec_helper.rb,spec/rails_helper.rb我.rspec
唯一改变的是取消注释spec_helper中的建议设置
我用来gruf运行 gRPC 服务器,而不是普通的 HTTP 服务器。
我还安装了gruf-rspec打算用它来测试我的 gruf 控制器。
我的 gruf 控制器遵循app/rpc/controllers/users_controller.rbgruf 文档。编译后的 protobuf 文件也位于app/rpc/users_services_pb.rb
这是控制器的类签名:
require 'users_services_pb'
require_relative 'permission_helper'
class UsersController < Gruf::Controllers::Base
bind ::Sil::Rev79::Users::Service
...
end
Run Code Online (Sandbox Code Playgroud)
我的问题是在我的测试中described_class是nil
这是我的测试
# spec/rpc/users_contollers_spec.rb
require 'rails_helper'
require 'users_services_pb'
RSpec.describe 'UsersController' do
describe 'list_users' do
it 'succeeds' do
expect(described_class).not_to be_nil
end
end
end
Run Code Online (Sandbox Code Playgroud)
测试失败。
为什么是 …
在带有 Postgresql 的 Rails 4.2 中,尝试保存新的 ActiveRecord 对象时出现此错误
PG::UniqueViolation:错误:重复键值违反唯一约束“My_table_name_pkey”
看起来它正在尝试使用已经存在的主键将记录插入到表中。我该如何解决这个问题?
grpc ×2
activerecord ×1
android ×1
css ×1
dropdownbox ×1
jointable ×1
kubernetes ×1
materialize ×1
postgresql ×1
rspec ×1
security ×1
sockets ×1