2012-07-25 40 views
0

我希望有我的网页上几个复选框,并访问这些复选框值的链接,在link_to帮手通过。我不想用一个形式,因为认为基本上有一些穿插链接,它不会自然似乎是一个合乎逻辑的提交按钮的形式。可以在Rails视图中输入没有表单的输入吗?

我有类似

<% for p in @some_array %> 
<!--other stuff .... --> 
<input value=<%= p.id %> id=<%= p.id %> name="selected[]" type=checkbox> 
<!--other stuff .... --> 
<%= link_to "View all selected thing(s)", :action => 'show_selected', :selected_things => selected[] %> 

但它似乎并没有认识到可变selected存储的输入。它提出了

undefined local variable or method `selected' for #<#<Class:0x000001021b4a38>:0x00000102319a90> 
+1

你混合红宝石(服务器侧,'<(%)=的link_to ...%>')与在客户端的东西(浏览器,的形式,并用名称形式元素'选择了[]')。没有你制造一个或者框架魔法,没有直接的联系。 – 2012-07-26 00:42:53

+0

我想这就是我的问题 - 可能是我没有清楚地解释自己。如何使这样的连接,如果我想使用的输入一些HTML元素发送到服务器端方法,而不是使用表单提交按钮。 – highBandWidth 2012-07-26 01:42:52

回答

1

我会说您的代码段的最后一行导致错误:

<%= link_to "View all selected thing(s)", :action => 'show_selected', :selected_things => selected[] %> 

红宝石抱怨一个selected没有被定义。

(虽然我不明白为什么你不希望使用形式,迫使选到的东西,你可以通过该链接将需要一些JavaScript魔术)

+0

谢谢。我知道错误来自这条线。如何定义一个变量用于复选框的输入?是否可以在不使用表单的情况下在link_to中使用输入? – highBandWidth 2012-07-26 01:39:34

+0

正如我说的,你会需要一些JavaScript来应对复选框,收集的东西,并建立了它的请求(这使它成为一个JavaScript的问题,没有在这里涉及到轨),但为什么地球上你想这样做没有形成? – bento 2012-07-26 07:25:10

+0

明白了。链接是静态构建的,并且输入框的值不能更改其值。 – highBandWidth 2012-07-26 20:04:07