小编Cat*_*lin的帖子

Rails 4.如何将authenticity_token添加到通过partial呈现的表单?

在我的rails应用程序中,在所有页面上,在head部分中有以下2个元标记:

<meta name="csrf-param" content="authenticity_token" />
<meta name="csrf-token" content="027GUZBeEkmv..." />
Run Code Online (Sandbox Code Playgroud)

在未使用部分呈现的表单上,存在隐藏authenticity_token字段

<input type="hidden" name="authenticity_token" value="D5TddQruJppDD3..." />
Run Code Online (Sandbox Code Playgroud)

但是,如果我只是加载这样的表单,这个字段会错过:

<%= render 'shared/comment_form' %>
Run Code Online (Sandbox Code Playgroud)

这是预期的行为吗?我应该手动添加一个authenticity_token,如果是,我如何验证它?

编辑:

共享/ _comment_form.html.erb

<%= form_for([@post, @comment], :html => { :onsubmit => "validateCommentForm(event)" }, remote:true) do |f| %>
    <%= render 'shared/error_messages', object: f.object %>
    <div class="field">
        <%= f.text_area :content, placeholder: "Add to the article. Make it be more" %>
    </div>

    <%= f.submit "Save", class: "btn btn-info" %>
<% end %>
Run Code Online (Sandbox Code Playgroud)

此外,添加<input type="hidden" name="authenticity_token" id="authenticity_token" value="ANYTHING" …

forms ruby-on-rails csrf

17
推荐指数
2
解决办法
1万
查看次数

如何更改Prawn中的字体

我正在尝试做的是使用Prawn生成PDF,同时具有一些特定于语言的字符.

结果我收到以下错误:

raise Prawn::Errors::IncompatibleStringEncoding,
   "Your document includes text that's not compatible with the  Windows-1252 character set.\n" \
   "If you need full UTF-8 support, use TTF fonts instead of PDF's built-in fonts\n."
Run Code Online (Sandbox Code Playgroud)

所以我尝试通过这样做来改变字体:

# app/models/prawn/change_font_decorator.rb

Prawn::Document.generate("output.pdf") do
  font_families.update("Arial" => {
    :normal => Rails.root.join("app/assets/fonts/OpenSans-Regular.ttf"),
    :italic => Rails.root.join("app/assets/fonts/OpenSans-Regular.ttf"),
    :bold => Rails.root.join("app/assets/fonts/OpenSans-Regular.ttf"),
    :bold_italic => Rails.root.join("app/assets/fonts/OpenSans-Regular.ttf")
  })
  font "Arial"
end
Run Code Online (Sandbox Code Playgroud)

然而,我在尝试生成PDF文件时遇到了同样的错误.

关于如何解决这个问题的任何想法?

pdf ruby-on-rails prawn

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

在返回false的mouseup事件后,当将鼠标悬停在链接上时,Chrome会将光标变为默认值而不是指针

我可能会遗漏一些东西,因为这件事很奇怪.这是代码:

$(document).ready(function() {
    $(document).mouseup(function(){
        return false;
    });
})
Run Code Online (Sandbox Code Playgroud)
<a href="">qagq3gq343</a>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js">    </script>
Run Code Online (Sandbox Code Playgroud)

它只是在mouseup事件上返回false .但它在Chrome中的作用是,当mouseup鼠标悬停在链接上时,在事件发生后,光标是默认值而不是指针.

您可以通过运行代码段复制它,然后单击代码段内的任何位置而不是链接,然后将光标移动到链接上.

有任何想法吗?

html javascript jquery google-chrome

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

标签 统计

ruby-on-rails ×2

csrf ×1

forms ×1

google-chrome ×1

html ×1

javascript ×1

jquery ×1

pdf ×1

prawn ×1