brew后安装imagemagick和brew在osx上安装ghostscript当我运行识别我得到:
$ identify
dyld: Library not loaded: /usr/local/lib/libtiff.3.dylib
Referenced from: /usr/local/bin/identify
Reason: image not found
Trace/BPT trap: 5
Run Code Online (Sandbox Code Playgroud) 当我发布表单以创建带有子评论的新查询时(在应用程序中,查询可以有多个评论),评论不会被构建.它在删除状态验证时有效.所以它与构建和保存事物的顺序有关.如何保留验证并保持代码清洁?
(以下是一个示例,因此可能无法完全运行)
车型/ inquiry.rb
class Inquiry < ActiveRecord::Base
has_many :comments
accepts_nested_attributes_for :comments
Run Code Online (Sandbox Code Playgroud)
车型/ comment.rb
class Comment < ActiveRecord::Base
belongs_to :inquiry
belongs_to :user
validates_presence_of :user_id, :inquiry_id
Run Code Online (Sandbox Code Playgroud)
控制器/ inquiry_controller.rb
expose(:inquiries)
expose(:inquiry)
def new
inquiry.comments.build :user => current_user
end
def create
# inquiry.save => false
# inquiry.valid? => false
# inquiry.errors => {:"comments.inquiry_id"=>["can't be blank"]}
end
Run Code Online (Sandbox Code Playgroud)
意见/查询/ new.html.haml
= simple_form_for inquiry do |f|
= f.simple_fields_for :comments do |c|
= c.hidden_field :user_id
= c.input :body, :label => 'Comment'
= f.button :submit
Run Code Online (Sandbox Code Playgroud)
数据库架构
create_table "inquiries", …Run Code Online (Sandbox Code Playgroud) 给定一个带有__附件的模型Post,附件有一个隐藏的标志.在整个应用程序中,我想轻松地说post.attachments并且只获得可见的,所以我在Attachment模型中设置了一个默认范围(使用squeel):
default_scope -> { where { (hidden != true) | (hidden == nil) } }
Run Code Online (Sandbox Code Playgroud)
但是管理页面需要能够查看帖子的所有附件,而不仅仅是可见的附件(因此您可以切换隐藏的复选框).执行此操作的默认方式(在admin/posts.rb中)使用default_scope,只允许我编辑可见的:
f.has_many :attachments do |a|
...
end
Run Code Online (Sandbox Code Playgroud)
我知道我可以不使用default_scope而是命名它:可见,然后到处(管理页面除外)说post.attachments.visible但我不喜欢这样做.
如何取消管理页面上的子附件?
使用Highcharts我想在页面下面添加页脚文本.我能看到这样做的唯一方法是使用credits属性.但是长篇文章看起来很简陋.有没有办法设置信用额度来增加间距?
credits: {
position: {
align: 'center'
},
text: 'this is some really long text that i am using as a footer',
href: null
},
Run Code Online (Sandbox Code Playgroud) 在 Rails 应用程序中使用 Postgres(使用 pg_search gem),我启用了 tsvector 搜索。在一个拥有超过 35,000 条记录的数据库中,我收到几条消息说
NOTICE: word is too long to be indexed
DETAIL: Words longer than 2047 characters are ignored.
Run Code Online (Sandbox Code Playgroud)
我假设“单词”不包含空格是否正确?我如何确定哪些记录导致此消息?
这是迁移生成的 SQL,其中引入了索引
== AddIndexForFullTextSearch: migrating ======================================
-- add_column(:posts, :tsv, :tsvector)
-> 0.0344s
-- execute(" CREATE INDEX index_posts_tsv ON posts USING gin(tsv);\n")
-> 0.1694s
-- execute(" UPDATE posts SET tsv = (to_tsvector('english', coalesce(title, '')) || \n to_tsvector('english', coalesce(intro, '')) || \n to_tsvector('english', coalesce(body, '')));\n")
NOTICE: word is too long to be indexed
DETAIL: Words …Run Code Online (Sandbox Code Playgroud)