Ruby on rails 轨道复选框标记
我想基于复选框创建一个表单,如果“@clans”数组不是nil并且它包含给定复选框的“值”,我想选中它 我的第一次演讲是:Ruby on rails 轨道复选框标记,ruby-on-rails,checkbox,Ruby On Rails,Checkbox,我想基于复选框创建一个表单,如果“@clans”数组不是nil并且它包含给定复选框的“值”,我想选中它 我的第一次演讲是: <%= check_box_tag 'clans[]','Feniks', true if !@clans.nil? and @clans.include? 'Feniks' %> 但是当@clans为nil时,复选框将消失,就像它被禁用一样 我用这样的代码解决了这个问题: <% if !@clans.nil? and @clans.includ
<%= check_box_tag 'clans[]','Feniks', true if !@clans.nil? and @clans.include? 'Feniks' %>
但是当@clans为nil时,复选框将消失,就像它被禁用一样
我用这样的代码解决了这个问题:
<% if !@clans.nil? and @clans.include? 'Feniks' %>
Feniks: <%= check_box_tag 'clans[]','Feniks', true %>
<% else %>
Feniks: <%= check_box_tag 'clans[]','Feniks' %>
<% end %>
费尼克斯:
费尼克斯:
但它看起来太糟糕了,必须有更好的方法来写这篇文章:)
请告诉我如何处理:)将
if
逻辑包装在括号内
<%= check_box_tag 'clans[]','Feniks', (true if !@clans.nil? and @clans.include? 'Feniks') %>
这就是为什么当条件为true时,复选框标记
方法会被调用,否则不会被调用。您可以将整个如果部分编写为:
<%= check_box_tag 'clans[]','Feniks', @clans.try(:include?, 'Feniks') %>
我发誓我已经试过了:)我会接受的
<%= check_box_tag 'clans[]','Feniks', @clans.try(:include?, 'Feniks') %>