小编Mat*_*udy的帖子

序列化哈希字段和简单表单

我有以下内容.

class Page < ActiveRecord::Base
  belongs_to :category
  serialize :fields
end
Run Code Online (Sandbox Code Playgroud)

价值fields将取决于类别.但作为一个例子;

{"address" => "8 finance street, hong kong",
 "founded" => "1973"}
Run Code Online (Sandbox Code Playgroud)

在此示例中,类别已定义"address""founded"作为自定义字段.

我想要的是说;

= simple_form_for(@page) do |f|
  = f.association :category
  - f.object.category.fields.each do |field|
    = f.input field.name
Run Code Online (Sandbox Code Playgroud)

但我需要做一些神奇的事情来处理@page.founded无效的事实

相反,我应该看看@page.fields["founded"].

有什么建议?


更新:

我有点接近了

- if f.object.category
  - f.object.category.fields.each do |field|
    = f.input field.name do
      = text_field_tag "post[fields][#{field.name}]", f.object.fields[file.name]
Run Code Online (Sandbox Code Playgroud)

现在需要制作这个DRYer(不想指定对象的名称).

我会看看我是否可以为此编写一个像样的简单表单扩展.

serialization ruby-on-rails ruby-on-rails-3 simple-form

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

Postgresql中有重复索引有什么害处吗?

我有以下结构.

CREATE TABLE join_table (
  id integer NOT NULL,
  col_a integer NOT NULL,
  col_b integer NOT NULL
)

CREATE INDEX index_on_col_a ON join_table USING btree (col_a);
CREATE INDEX index_on_col_b ON join_table USING btree (col_b);
CREATE UNIQUE INDEX index_on_col_a_and_col_b ON join_table USING btree (col_a, col_b);
Run Code Online (Sandbox Code Playgroud)

col_a和col_b上也有外键.

显然index_on_col_a不再需要,但是保留或删除它是否有成本或好处?

我的猜测是;

  • 保持它会减慢插入速度
  • col_a如果我保留它,选择使用just 可能会更快

sql postgresql indexing postgresql-9.1

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

Rails .js.erb文件中的完整资产URL

我有一个可以在任何网站上加载的书签.

它的工作原理如下;

  • 负载 http://my.example.com/assets/bookmarklet.js
  • 包括 http://my.example.com/assets/bookmarklet.css

css文件被添加到dom via中bookmarklet.js,因此需要知道它在哪里.

我的代码如下;

// assets/javascripts/bookmarklet.js.erb

var config = {
  stylesheetUrl: '<%= asset_path("bookmarklet.css", :only_path => false) %>'
}
Run Code Online (Sandbox Code Playgroud)

但无论我尝试什么,这都呈现为

var config = {
  stylesheetUrl: '/assets/bookmarklet.css'
}
Run Code Online (Sandbox Code Playgroud)

我需要asset_path返回一个完整的URL.但是asset_url不存在,我找不到一个选项asset_path,它将在当前域之前添加.

有解决方案吗

ruby-on-rails-3 sprockets asset-pipeline

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

如何修剪HAML中的所有空格?

在我的例子中,我想单独标记单词"word"中的字母

%span.word
  %span.w W
  %span.o O
  %span.r R
  %span.d D
Run Code Online (Sandbox Code Playgroud)

实际上,这会产生类似html的

<span class="word">
  <span class="w">W</span>
  <span class="o">O</span>
  <span class="r">R</span>
  <span class="d">D</span>
</span>
Run Code Online (Sandbox Code Playgroud)

正如您所期望的那样显示为

但我希望它显示为

怎么能告诉haml删除%span.word块内的所有空格?

haml whitespace ruby-on-rails

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