在准备做一个多选form时,check_box在使用上有不少问题,不知道如何解决?下面是试验过程
首先 controller中的代码如下
@my_data = MyTables.find(:all)
第一次:view的form中则准备这样写
<%for mydata in @my_data%>
<%=check_box("mydata","id")%>
<%end%>
当然这样写是有问题的,render过程中会尝试调用@mydata.id,不过代码中没有@mydata存在。运行时就会出错
第二次:
<%for mydata in @my_data%>
<%=check_box("my_data","id")%>
<%end%>
这次@my_data是存在了,可是@my_data是一个Array,Array可没有id函数。还是出错。
第三次:这次加入了个index属性
<%@my_data.each_with_index do |data,index|%>
<%=check_box("my_data","id",{"index"=>index})%>
<%end%>
id函数的问题始终存在,最终为了render成功,改成了下面两种代码
id改成array有的函数,就用size吧
<%@my_data.each_with_index do |data,index|%>
<%=check_box("my_data","size",{"index"=>index})%>
<%end%>
或者
<%=check_box("my_data11","id",{"index"=>index})%>
这两种代码,render是成功了。还是有问题。
当多选几个check_box之后,单击post按钮。无论怎么样,controller都没有收到选中状态数据。观察log,的确,post的数据中,没有一个是选中数据。
也就是说 checkbox是都显示出来了,不过只能看,不能用。
后来也尝试了下check_box_tag,稍微有所不同,post到controller的数据只有多个选中的其中一个,数据不全。也不能用。
这个rails的check_box,和check_box_tag,在这类使用循环生成form数据的代码中,难道完全不能使用吗?
循环生成多个check_box的需求还是常见的很,rails中该怎么正确编写这样的代码?
分享到:
相关推荐
:check_box_with_check: 这意味着它很安全。 每个人都可以检查源代码。 :check_box_with_check: 这意味着,如果您是一名开发人员或实习生,那么不胜感激地贡献代码。 此扩展名是1ce的另一扩展名。 我们的使命是...
访问我们的网站以了解更多信息,并成为社区的一部分: : 如有疑问,请访问我们网站上的“常见问题解答”部分: : 使用指南: 安装扩展程序(单击“添加到Chrome”) 单击扩展程序图标(安装后)。 在打开的框中,...
访问我们的网站以了解更多信息,并成为社区的一部分: : 如有疑问,请访问我们网站上的“常见问题解答”部分: : 使用指南: 安装扩展程序(单击“添加到Chrome”) 单击扩展程序图标(安装后)。 将会打开新的...
:check_box_with_check: 这意味着它很安全。 每个人都可以检查源代码。 :check_box_with_check: 这意味着,如果您是一名开发人员或实习生,那么不胜感激地贡献代码。 此扩展名是1ce的另一扩展名。 我们的使命是...
:check_box_with_check: 这意味着它很安全。 每个人都可以检查源代码。 :check_box_with_check: 这意味着,如果您是一名开发人员或实习生,那么不胜感激地贡献代码。 此扩展名是1ce的另一扩展名。 我们的使命是...
访问我们的网站以了解更多信息,并成为社区的一部分: : 如有疑问,请访问我们网站上的“常见问题解答”部分: : 使用指南: 安装扩展程序(单击“添加到Chrome”) 单击扩展程序图标(安装后)。 浏览器将打开新...
访问我们的网站以了解更多信息,并成为社区的一部分: : 如有疑问,请访问我们网站上的“常见问题解答”部分: : 使用指南: 安装扩展程序(单击“添加到Chrome”) 单击扩展程序图标(安装后)。 浏览器将打开新...
访问我们的网站以了解更多信息,并成为社区的一部分: : 如有疑问,请访问我们网站上的“常见问题解答”部分: : 使用指南: 安装扩展程序(单击“添加到Chrome”) 单击扩展图标。 在打开的窗口中,您将看到当地...
这对您意味着什么::check_box_with_check:是安全的。 每个人都可以检查源代码。 :check_box_with_check:这意味着,如果您是一名开发人员或实习生,那么欢迎您贡献代码。 此扩展名是1ce的另一扩展名。 我们的使命是...
这对您意味着什么::check_box_with_check:是安全的。 每个人都可以检查源代码。 :check_box_with_check:这意味着,如果您是一名开发人员或实习生,那么欢迎您贡献代码。 此扩展名是1ce的另一扩展名。 我们的使命是...
语言:Bahasa Indonesia,Deutsch,English,Français,Nederlands,Tiếng Việt,Türk...访问我们的网站以了解更多信息,并加入社区:https://1ce.org如有疑问,请访问我们网站上的FAQ部分:https://1ce.org使用指南:1.安
语言:Bahasa Indonesia,Deutsch,English,Français,Nederlands,Tiếng Việt,Türkç...访问我们的网站以了解更多信息,并加入社区:https://1ce.org如有疑问,请访问我们网站上的FAQ部分:https://1ce.org使用指南:1.
语言:Bahasa Indonesia,Deutsch,English,Français,Nederlands,Tiếng Việt,Türkçe,...访问我们的网站以了解更多信息,并加入社区:https://1ce.org如有疑问,请访问我们网站上的FAQ部分:https://1ce.org使用指南:
语言:Bahasa Indonesia,Deutsch,English,Français,Nederlands,Tiếng Việt,Türkçe...访问我们的网站以了解更多信息,并加入社区:https://1ce.org如有疑问,请访问我们网站上的FAQ部分:https://1ce.org使用指南:1
语言:Bahasa Indonesia,Deutsch,English,Français,Nederlands,Tiếng Việt,Türkçe,...访问我们的网站以了解更多信息,并加入社区:https://1ce.org如有疑问,请访问我们网站上的FAQ部分:https://1ce.org使用指
语言:Bahasa Indonesia,Deutsch,English,Français,Nederlands,Tiếng Việt,Türkçe,...访问我们的网站以了解更多信息,并加入社区:https://1ce.org如有疑问,请访问我们网站上的FAQ部分:https://1ce.org使用指南
语言:Bahasa Indonesia,Deutsch,English,Français,Nederlands,Tiếng Việt...访问我们的网站以了解更多信息,并加入社区:https://1ce.org如有疑问,请访问我们网站上的FAQ部分:https://1ce.org使用指南:1.安装扩展
语言:Bahasa Indonesia,Deutsch,English,Français,Nederlands,Tiếng ...访问我们的网站以了解更多信息,并加入社区:https://1ce.org如有疑问,请访问我们网站上的FAQ部分:https://1ce.org使用指南:1.安装扩展(单
语言:Bahasa Indonesia,Deutsch,English,Français,Nederlands,Tiếng Việt,T...访问我们的网站以了解更多信息,并加入社区:https://1ce.org如有疑问,请访问我们网站上的FAQ部分:https://1ce.org使用指南:1.安装扩