我很确定自己在这里是个白痴,但是我已经离开Ruby很久了,以至于我的搜索没有找到正确的答案。
我有一个带有复选框的弹出窗口。我想要,如果用户选中了该复选框,则在“用户”表中设置一个标志,以使该复选框不再出现。
我已经有了代码,如果设置了东西,弹出窗口不会出现。我无法将复选框状态更改返回到数据库...
复选框代码如下:
%button.btn.btn-primary.slide_show_next{:type => "button", :data => {:toggle => "modal", :target => "#help_slide_show_2", :dismiss => "modal"}}
Next
.show-slideshow
%label
%input.show-slideshow-checkbox{:type => "checkbox", :checked => "checked"}
Show me this when I view a report.
相关的coffeeScript是:
$ ->
if typeof(gon) != 'undefined' && gon.show_help_slide_show == true && document.cookie.indexOf("show-slide-show=false") == -1
$("#help_slide_show").modal()
if document.cookie.indexOf("show-slide-show=false") != -1
$(".show-slideshow-checkbox").attr("checked", false)
$(".show-slideshow-checkbox").change( (event) ->
val = $(event.target).prop("checked")
document.cookie = "show-slide-show=#{val}; Path=/;"
$(".show-slideshow-checkbox").attr("checked", val)
)
答案 0 :(得分:0)
查看form_for。这将帮助您从视图中更新模型。下面是haml form_for的代码,可以在form_for文档中找到等效的erb。对于某些语法问题,我发现haml文档的功能不如我想要的强大。
= form_for @user, remote: true do |f|
= f.label 'checkbox'
= f.check_box :table_column, autofocus: true
= f.submit