小编dim*_*nyc的帖子

渲染的PDF在生产中看起来不同 - Rails,PDFKit,wkhtmltopdf

我正在使用Rails pdfkit gem来呈现多页pdf文件.渲染的pdf文件按预期获取CSS(SCSS)样式和分页符.但是,当我尝试在生产中渲染相同的pdf文档时,似乎样式只加载一些CSS规则并忽略其他如父容器widthheight声明.这是我的父容器元素的CSS(SCSS):

.policy_pdf{
  font-family: Arial, sans-serif;
  .pdf-page{
    width:98%;
    height:17.1in;
    margin:auto;
    page-break-after:always;        
    ...
    @media screen{
      border: 1px dotted red;
    }
    page-break-after:always;
  }
...
}
Run Code Online (Sandbox Code Playgroud)

和PDFKit初始化程序:

PDFKit.configure do |config|
  config.default_options = {
    :page_size => 'Legal',
  }
end
Run Code Online (Sandbox Code Playgroud)

以下是开发中呈现的pdf示例: 在此输入图像描述

以下是这个pdf在生产中的表现: 在此输入图像描述

doc周围的红线是我引入的CSS规则,用于显示页面边缘在生产中的呈现方式.

环境

开发和生产(Digital Ocean Droplet)都使用相同版本的Ubutnu(16.04).

你有什么尝试?

  • 起初我认为我正在使用的一些CSS类,pdf-kit例如.page在编译时被一些冲突规则覆盖,所以我尝试使用独特的类名,.pdf-page而不是.page.

  • 然后我试着看看它是否与SCSS编译有关.但是同一样式表中的嵌套边框和背景颜色声明会被"拾取"并呈现得很好.policy-pdf编译中的块application.css看起来也是正确的.

  • 禁用smart-shrinking使PDF看起来更加"崩溃".

  • 将大小/宽度CSS规则(内联和外部样式表)应用于html标记,如本文所示:

线索:

生产和开发都运行相同版本wkhtmltopdf的(~> 0.12.2 …

css pdf ruby-on-rails pdfkit wkhtmltopdf

13
推荐指数
1
解决办法
963
查看次数

ERB/Rails中结束</a>标记的正确缩进

有没有办法</a>link_to帮助器中修复标签的缩进?

在我的.html.erb中:

<%= link_to... do %>
...
<% end %>
Run Code Online (Sandbox Code Playgroud)

在渲染.html:

     <a href="..">
</a><!--fails to inherit the indentation-->
Run Code Online (Sandbox Code Playgroud)

IDE中的2空格缩进:

在此输入图像描述

Chrome的view-source:*:

在此输入图像描述

html ruby ruby-on-rails erb

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

将html.slim视图转换为html.erb - Rails,Slim,ERB

试图*.html.slim视图转换为*.html.erb.我看过这两个问题:

如果Stack Overflow的优秀人员可以帮助我找出image_tag问题,我认为后一种解决方案效果最好.

我的代码(根据要求):

page data-id="foo-page"
  .container
    = image_tag 'bar.svg'
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails erb slim-lang

5
推荐指数
3
解决办法
5575
查看次数

Heroku - DNSimple配置

尝试设置SSL以在mydomain.com上运行.遵循Heroku文档,我已经管理好了SSL工作在https://secure.mydomain.com.但是当我添加SSL时由heroku创建的实际端点仍在说

**Heroku | No such app**

There is no app configured at that hostname.
Perhaps the app owner has renamed it, or you mistyped the URL.
Run Code Online (Sandbox Code Playgroud)

关于如何让tokyo-2121.herokussl.com指向我在Heroku上的实际应用程序,我有点困惑.

emet:myapp vezu$ heroku certs
Endpoint                  Common Name(s)         Expires                   Trusted
------------------------  ---------------------  ------------------------  -------
tokyo-2121.herokussl.com  secure.mydomain.com  2013-09-09 12:28:05 CEST     True
Run Code Online (Sandbox Code Playgroud)

然后

emet:myapp vezu$ heroku certs:info
Fetching information on SSL endpoint tokyo-2121.herokussl.com... done
Certificate details:
    subject: /serialNumber=htilpsjjgrrlhyVZ8rbeandz78555bgpWx/FDEVd/OU=GT166968518/OU=See www.rapidssl.com/resources/cps (c)12/OU=Domain Control Validated - RapidSSL(R)/CN=secure.mydomain.com
    start date: 2012-09-06 12:38:54 CEST
    expire date: 2013-09-09 …
Run Code Online (Sandbox Code Playgroud)

dns heroku ssl-certificate dnsimple

4
推荐指数
1
解决办法
3533
查看次数

在Ruby中为.split方法使用多个分隔符

我希望将一个字符串拆分为一个数组";"," "并将","分隔符分成一行.有没有办法在不使用正则表达式的情况下做到这一点?

ruby arrays split delimiter

4
推荐指数
2
解决办法
1456
查看次数

具有嵌套元素的可重用块 - SCSS

假设我在一个样式表中有两个无序列表.两者都应该使用相同的样式,但两者都嵌套在不同的父元素中:

#foo{
  position:absolute;
  ...
  ul{
    list-style-type:none;
    li{
      color:red;
      ...
    }
  }
}

#bar{
  position:relative;
  ...
  ul{
    list-style-type:none;
    li{
      color:red;
      ...
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

有没有办法创建类似于Rails的部分内容,其中单个代码块可以在不同的父元素中重用/呈现?

css sass mixins

4
推荐指数
1
解决办法
2283
查看次数

使用嵌套联接构造ActiveRecord-Rails 4

我正在尝试执行类似的操作:按关联字段进行Rails排序,仅使用关联的表。我有三种模式:

class Policy
  has_many :clients
end

class Client
  belongs_to :policy
  belongs_to :address
end

class Address
end
Run Code Online (Sandbox Code Playgroud)

并想要创建一个报告集合,其中将包含带有相关客户端及其地址的策略。类似于以下内容:

@report = Policy.where(...)
@report.includes(:clients, :addresses).order('clients.address.state desc')
Run Code Online (Sandbox Code Playgroud)

但是,当然,PolicyModel和之间我没有直接联系missing FROM-clause entry for table "address"。我真的不想添加Policy > Address关联,因为还有其他一些具有地址并属于策略的模型。

ruby ruby-on-rails rails-activerecord

3
推荐指数
1
解决办法
943
查看次数

使用内联CSS设置组件样式 - Ionic2,AngularJS

我试图附加一个内联CSS规则来background-image使用类似的动态变量集constructor:

<div style="background-image: url('{{backgroundImage}}');">
  ...
</div>
Run Code Online (Sandbox Code Playgroud)

然后在我的组件中:

export class SomeComponent {

  backgroundImage = '';

  constructor(public navCtrl: NavController, public navParams: NavParams) {
    this.backgroundImage = 'https://unsplash.it/200/300' ; }

}
Run Code Online (Sandbox Code Playgroud)

但是,当元素呈现到屏幕时,内省CSS规则将被省略.

我尝试使用Angular ng-style,但它返回"无法绑定到'ng-style',因为它不是'div'的已知属性".

我也尝试styles在我的@Component声明中设置,如本答案中所述,但这不会在我的情况下,因为我需要backgroundImage变量是动态的.

css typescript ionic2 ionic3 angular

3
推荐指数
1
解决办法
3699
查看次数

为什么raise_error匹配器没有按预期工作?

我正在为控制器POST #update/ with invalid attributes上下文编写规范:

控制器规格:

context 'with invalid attributes' do
  it "does not change @foo's attributes with empty params" do
    expect(patch :update, id: @foo, foo: attributes_for(:foo,
                                                         start_time: nil,
                                                         end_time:   nil)
                                                       ).to raise_error('ActiveRecord::RecordInvalid')
  end
end
Run Code Online (Sandbox Code Playgroud)

模型验证:

  validates :name, presence: true
  validate :dates_logic_validation
Run Code Online (Sandbox Code Playgroud)

Foo对日期逻辑的自定义验证:

def dates_logic_validation
  if !start_time.present? || start_time.nil?
    errors.add(:start_time, "Please double check the starting time")
  elsif !end_time.present? || end_time.nil?
    errors.add(:end_time, "Please double check the starting time")
  elsif (start_time.to_datetime rescue ArgumentError) == ArgumentError
    errors.add(:start_time, 'Please double check …
Run Code Online (Sandbox Code Playgroud)

ruby validation rspec ruby-on-rails

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