Ruby on rails 如何根据表中的当前值检查rails中的单选按钮标记
我有一组产品设置。对于每个设置,我想添加一对单选按钮“启用”和“禁用”来表示设置状态。用户可以单击该按钮来更改当前设置表中的设置状态。我有两个产品a和B,与a相关的所有设置的状态都是“启用”,而B的所有状态都是“禁用”“。我的问题是,当我刷新网页时,选中的A和B的单选按钮是相同的。所有这些都在“禁用”状态下进行检查 我已经测试了以下功能:CurrentSetting.setting\u是否已启用?和默认设置。默认设置已启用?。测试结果表明,这些函数可以返回预期结果,即与A相关的所有设置的启用状态为真(“启用”),而B为假(“禁用”)。但A的按钮被选中为“禁用” 刷新网页后,如何使单选按钮显示每个设置的当前启用状态?谁能帮我个忙吗 视图中的rhtml是:Ruby on rails 如何根据表中的当前值检查rails中的单选按钮标记,ruby-on-rails,model,radio-button,return-value,checked,Ruby On Rails,Model,Radio Button,Return Value,Checked,我有一组产品设置。对于每个设置,我想添加一对单选按钮“启用”和“禁用”来表示设置状态。用户可以单击该按钮来更改当前设置表中的设置状态。我有两个产品a和B,与a相关的所有设置的状态都是“启用”,而B的所有状态都是“禁用”“。我的问题是,当我刷新网页时,选中的A和B的单选按钮是相同的。所有这些都在“禁用”状态下进行检查 我已经测试了以下功能:CurrentSetting.setting\u是否已启用?和默认设置。默认设置已启用?。测试结果表明,这些函数可以返回预期结果,即与A相关的所有设置的启用状态
<%@settings.each do |setting|%>
<%setting_enabled = CurrentSetting.setting_enabled?(@product_id,setting.id)%>
<!-- Setting on -->
<%= radio_button_tag("settings[#{setting.key_name}]", "enabled", :checked=> setting_enabled) %>
<!-- Setting off -->
<%= radio_button_tag("settings[#{setting.key_name}]", "disabled", :checked=> !setting_enabled) %>
<%= "#{setting.display_name}" %>
<br/>
<%end%>
您在评论中提到您正在运行1.2.x版本的rails。基于此:
您知道/使用jquery吗?你的问题很容易解释,没错,但我只知道使用jquerySorry的解决方案,我不知道jquery。但是你能告诉我使用jquery的解决方案吗?也许我能了解一些情况。你现在做的事情是否涉及到AJAX,例如,你是否有针对任何链接、表单的remote=>true?此外,我注意到你正在使用rhtml扩展,非常旧,你使用的是什么版本的rails?我正在扩展一个基于rails 1.2.3的现有系统。我有“当前设置/设置设置”%>,单击“保存”按钮后将调用该设置。
def self.setting_enabled? db_id, default_setting_id
current_setting = CurrentSetting.find(:first,
:conditions => ['db_id = ? and default_setting_id= ? ', db_id, default_setting_id ])
if current_setting==nil
return DefaultSetting.default_enabled?(default_setting_id) #return default enabled state for this setting
else
return current_setting.enabled
end
end
<%= radio_button_tag("settings[#{setting.key_name}]", "enabled", setting_enabled) %>
<%= radio_button_tag("settings[#{setting.key_name}]", "disabled", !setting_enabled) %>