小编pro*_*ils的帖子

ActiveModel Serializers:has_many在运行时有条件吗?

我使用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)

ruby-on-rails active-model-serializers

6
推荐指数
2
解决办法
3448
查看次数

Action Cable 5是否需要Redis?

我用:

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.

所以我的问题是:

  1. Action Cable 5是否需要Redis才能工作?(看起来不行,但我不确定).
  2. 如果(显然)Action Cable 5可以使用或不使用Redis - 有什么区别? …

ruby-on-rails redis actioncable

5
推荐指数
1
解决办法
3598
查看次数

垂直居中对齐未知高度的div

我正在尝试解决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设置 - 但仍然没有运气.

css

0
推荐指数
1
解决办法
2479
查看次数