Ruby on rails 在我的方法中,rails将为您做这件事。这将始终启用复选框,因此它确实有效,但我希望在contributor.is_active==1时选中复选框。因此,我尝试通过将true替换为(contributor.is_active==1)来修改您的语句,但没有成
Ruby on rails 在我的方法中,rails将为您做这件事。这将始终启用复选框,因此它确实有效,但我希望在contributor.is_active==1时选中复选框。因此,我尝试通过将true替换为(contributor.is_active==1)来修改您的语句,但没有成,ruby-on-rails,Ruby On Rails,在我的方法中,rails将为您做这件事。这将始终启用复选框,因此它确实有效,但我希望在contributor.is_active==1时选中复选框。因此,我尝试通过将true替换为(contributor.is_active==1)来修改您的语句,但没有成功。只是我,还是真的疯了?抱歉,我的回答不是很清楚。是的,您可以使用is_active属性的值修改语句。当然,这就是乔纳森在回答中所说的(哪一个更好)。您的'Is_active'属性是布尔值吗。。。因为如果是,您将单独使用它,因为(true==
在我的方法中,rails将为您做这件事。这将始终启用复选框,因此它确实有效,但我希望在contributor.is_active==1时选中复选框。因此,我尝试通过将true替换为(contributor.is_active==1)来修改您的语句,但没有成功。只是我,还是真的疯了?抱歉,我的回答不是很清楚。是的,您可以使用is_active属性的值修改语句。当然,这就是乔纳森在回答中所说的(哪一个更好)。您的'Is_active'属性是布尔值吗。。。因为如果是,您将单独使用它,因为(true==1)的计算结果为false,这将解释您看到的结果。
<%= form_for :project, :url=>{:controller=>'projects', :action=>'update_permissions', :id=>@project.id} do |f| %>
<fieldset>
<% @project.contributors.each do |contributor| %>
<%= f.fields_for "contributors[#{contributor.id}]" do |c| %>
<ul id="PermissionsList" class="permissions-grid in-line clearfix full">
<li>
<ul class = "clearfix permission-row">
<li class="first">
<%= c.check_box :is_active %><label for="<%= contributor.id %>"><%= contributor.user.whole_name %></label>
</li>
<% @roles.each do |role| %>
<li><%= c.radio_button :role_id, role.id, :id=>"#{contributor.id}-#{role.id}" %><%= label "#{contributor.id}-#{role.id}", role.role_name %></li>
<% end %>
</ul>
<% end %>
</li>
</ul>
<% end %>
</fieldset>
<ul class="clearfix permission-row">
<li class="first">
<input type="hidden" value="0" name="project[contributors[9]][is_active]"><input type="checkbox" value="1" name="project[contributors[9]][is_active]" id="project_contributors_9__is_active"><label for="9">Bill Hatch</label>
</li>
<li><input type="radio" value="1" name="project[contributors[9]][role_id]" id="9-1" style="display: none;"><label for="9-1_Reviewer" style="display: none;">Reviewer</label></li>
<li><input type="radio" value="2" name="project[contributors[9]][role_id]" id="9-2" style="display: none;"><label for="9-2_Tech. Reviewer" style="display: none;">Tech. reviewer</label></li>
<li><input type="radio" value="3" name="project[contributors[9]][role_id]" id="9-3" style="display: none;"><label for="9-3_Contributor" style="display: none;">Contributor</label></li>
</ul>
<%= check_box_tag "project[contributors[#{contributor.id}]][is_active]", '1', true %>
<%= c.check_box :is_active, {}, @object.is_active %>
<%= form_for @project, :url => update_permissions_project_path(@project) do |f|
<fieldset>
<%= f.fields_for :contributors do |c| %>
<ul id="PermissionsList" class="permissions-grid in-line clearfix full">
<li>
<ul class = "clearfix permission-row">
<li class="first">
<%= c.check_box :is_active %>
<%= c.label :is_active, c.object.user.whole_name %>
</li>
<% @roles.each do |role| %>
<li>
<%= c.radio_button :role_id %>
<%= c.label :role_id, role.role_name %>
</li>
<% end %>
</ul>
</li>
</ul>
<% end %>
</fieldset>
<% end %>
def checked?(value)
case value
when TrueClass, FalseClass
value == !!@checked_value
when NilClass
false
when String
value == @checked_value
else
if value.respond_to?(:include?)
value.include?(@checked_value)
else
value.to_i == @checked_value.to_i
end
end
end
# For new instances, the onupdate field should default to checked
check_box :onupdate
rails g migration AddDefaultToWatchers
class AddDefaultToWatchers < ActiveRecord::Migration
def change
change_column :watchers, :onupdate, :boolean, :default => true
end
end