我使用rails(5.0.1)和active_model_serializers(0.10.2).我想以某种方式有条件地序列化has_many关联:
class Question < ApplicationRecord
has_many :responses, :inverse_of => :question
end
class Response < ApplicationRecord
belongs_to :question, :inverse_of => :responses
end
class QuestionSerializer < ActiveModel::Serializer
attributes :id, :title, :created_at, :updated_at
has_many :responses
end
class ResponseSerializer < ActiveModel::Serializer
attributes :id, :title
end
Run Code Online (Sandbox Code Playgroud)
我使用jsonapi并查询http://localhost:3000/api/questions/1我得到这个回复:
回应1:
{
"data": {
"id": "1",
"type": "questions",
"attributes": {
"title": "First",
"created-at": "2017-02-14T09:49:20.148Z",
"updated-at": "2017-02-14T13:55:37.365Z"
},
"relationships": {
"responses": {
"data": [
{
"id": "1",
"type": "responses"
}
]
}
}
} …Run Code Online (Sandbox Code Playgroud) 我用:
rails (5.0.2)
actioncable (5.0.2)
puma (3.8.2)
Run Code Online (Sandbox Code Playgroud)
我有一个Rails 5动作电缆演示聊天和一年前它没有Redis不起作用 - 现在它确实!(之后bundle update).
换句话说,我成功地使我的演示聊天在没有Redis的开发模式下工作.我这样设置the config/cable.yml:
development:
adapter: async
test:
adapter: async
production:
adapter: async
Run Code Online (Sandbox Code Playgroud)
并启动rails c.就是这样 - 聊天工作正常,没问题.所以Redis显然不再需要了 - 不像一年前的时代?
我还找到了一种让我的演示聊天与Redis一起工作的方法.为此,我改变the config/cable.yml如下:
redis: &redis
adapter: redis
url: redis://localhost:6379/1
production: *redis
development: *redis
test: *redis
Run Code Online (Sandbox Code Playgroud)
而不是添加gem 'redis', '~>3.2'到我的Gemfile(+ bundle install),redis-server然后启动Redis rails c.
所以我的问题是:
我正在尝试解决vertical-align涉及浮动div 的问题.所有高度都是未知的 - 因为它们只是用内部文本行隐式形成.
这是代码:https://jsfiddle.net/zjzyryae/
#test {
background: yellow;
display: inline-block;
}
#block1 {
float: left;
display: inline-block;
background-color: grey;
}
#block2 {
background-color: green;
float: left;
}Run Code Online (Sandbox Code Playgroud)
<div id="test">
<div id="block1">
<div>test</div>
<div>test</div>
<div>test</div>
<div>test</div>
<div>test</div>
<div>test</div>
<div>test</div>
<div>test</div>
<div>test</div>
<div>test</div>
</div>
<div id="block2">
sample
</div>
</div>Run Code Online (Sandbox Code Playgroud)
我需要垂直居中"block2"div - 当然只有CSS(没有JavaScript).
看到"block1"div隐式设置父"test"块高度 - 这使得与所描述的类似情况(其中此高度以像素显式设置)的主要区别.
也许这个问题在某个地方得到了解决,但我没有找到完全相同的情况.我考虑的类似例子是不同的.
这个中心垂直未知高度文本中未知高度div实际上包括硬编码高度设置 - 这与我的情况大不相同.
那一个如何垂直中间对齐未知高度的浮动元素?也是不同的情况,不适合我的情况 - 因为父高度等于浮动divs高度(这比我的情况容易得多).
我试着玩不同的display:table设置 - 但仍然没有运气.