小编Bre*_*der的帖子

Rails表单(选择/选项) - 如何使用HAML标记所选选项?

在HAML中以表格形式标记当前所选期权值的最快捷,最优雅的方法是什么?

%form{:action => '', :method => 'get'}
   %select{:name => 'param_name'}
      %option{:value => 'A'} A data
      %option{:value => 'B'} B data
Run Code Online (Sandbox Code Playgroud)

单程:

- if params[:param_name] == "A"
  %option{:value => 'A', :selected => 'selected'} A data
- else
  %option{:value => 'A'} A data
Run Code Online (Sandbox Code Playgroud)

但是当select盒子有很多选项字段时,这是不合适的...

forms haml select ruby-on-rails option

13
推荐指数
2
解决办法
3万
查看次数

Ruby:Nils在IF语句中

我正在使用的rails应用程序中有以下非常难看的ruby代码:

if params.present?
  if params[:search].present?
    if params[:search][:tags_name_in].present?
      ...
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

所有我想问的是是否已经定义了params [:search] [:tags_name_in],但因为params,params [:search]和params [:search] [:tags_name_in]可能都是零,如果我使用...

if params[:search][:tags_name_in].present?
Run Code Online (Sandbox Code Playgroud)

...如果没有参数或没有搜索参数,我会收到错误.

肯定有一个更好的方法来做到这一点......建议?

ruby hash null if-statement ruby-on-rails

9
推荐指数
2
解决办法
1802
查看次数

学习中级到高级正则表达式的好教程?

所以我熟悉正则表达式的基础知识,但我正在寻找好的教程来学习除基础知识以外的任何东西.我也很感激任何链接到交互式问题,我可以输入正则表达式,看看他们是否解决了它.即使是我可以尝试通过自己的编码解决的中间或高级问题的想法也会很棒.

regex language-agnostic

7
推荐指数
3
解决办法
1461
查看次数

PGError:错误:编码"UTF8"的无效字节序列

我从Cloudmailin收集Rails电子邮件时收到以下PGError:

PGError: ERROR: invalid byte sequence for encoding "UTF8": 0xbb HINT: This error can also happen if the byte sequence does not match the encoding expected by the server, which is controlled by "client_encoding". : INSERT INTO "comments" ("content") VALUES ('Reply with blah blah  ????????????????????????????????????????????????????? .....
Run Code Online (Sandbox Code Playgroud)

所以很明显我有一些无效的UTF8字符进入电子邮件吧?所以我试着清理它,但仍有一些东西在偷偷摸摸.这是我到目前为止所拥有的:

message_all_clean = params[:message]
Iconv.conv('UTF-8//IGNORE', 'UTF-8', message_all_clean)
message_plain_clean = params[:plain]
Iconv.conv('UTF-8//IGNORE', 'UTF-8', message_plain_clean)

@incoming_mail = IncomingMail.create(:message_all => Base64.encode64(message_all_clean), :message_plain => Base64.encode64(message_plain_clean))
Run Code Online (Sandbox Code Playgroud)

任何想法,想法或建议?谢谢

postgresql encoding ruby-on-rails heroku ruby-on-rails-3

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

在连接模型上强制唯一性的正确方法?(has_many:通过)

我通过users表拥有父/子关系,模型如下:

class User < ActiveRecord::Base

  # Parents relationship
  has_many :children_parents, :class_name => "ParentsChild", :foreign_key => "child_id", :dependent => :destroy
  has_many :parents, :through => :children_parents

  # Children relatiopnship
  has_many :parents_children, :class_name => "ParentsChild", :foreign_key => "parent_id", :dependent => :destroy
  has_many :children, :through => :parents_children
  ...
end
Run Code Online (Sandbox Code Playgroud)

在parents_child.rb中:

class ParentsChild < ActiveRecord::Base

  belongs_to :parent, :class_name => "User"
  belongs_to :child, :class_name => "User"

end
Run Code Online (Sandbox Code Playgroud)

现在,我们的"添加子项"表单(仅使用vanilla嵌套属性)可以为父项多次添加同一个用户.我不确定在ParentsChild关系中强制实现唯一性的"正确"方法是什么,尽管我倾向于(parent_id, child_id)在数据库层使用唯一索引(当然使用迁移).

我确信我还可以在UsersController :: update方法中强制执行唯一性约束,但是更愿意避免更改该代码(现在它完全不引用父/子,这要归功于表单/模型中的嵌套属性)可能.我最关心的是确保我们使用"正确"的解决方案.什么是'正确'或'轨道'的方式来做到这一点?

activerecord ruby-on-rails unique has-many-through

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