2017-05-03 103 views
0

如何调用关于表单的方法?调用控制器方法并返回变量以查看

我有3个radio按钮,我想调用一个方法取决于哪个单选按钮被选中。在调用之后,我必须将控制器的一个变量返回给视图。

我该怎么做?

我的做法:

我想用CSS做设计我的HTML。这就是为什么我还没有使用的形式帮助的原因:

<div id="cx" class="cxs"> 
    <form> 
    <fieldset> 
     <label> 
     <input type="radio" id="cxId" name="checkBox"> ID 
     </label> 
     <label> 
     <input type="radio" id="cxName" name="checkBox"> Name 
     </label> 
     <label> 
     <input type="radio" id="cxArtikelnummer" name="checkBox"> Artikelnummer 
     </label> 
    </fieldset> 
    <button type="button" id="cxBtn">Ok</button> 
    </form> 
</div> 

在这里,我想打电话给取决于哪个单选按钮(由nameidartikelnummer显示)检查的方法。

我已经解决了stati,但选择必须是动态的,我认为这样做的方法。

<% $i = 0 %> 
    <% $num = @title.count %> 
    <% @title.each do |row| %> 
    Name: <%= row["Name"] %> 
    Durchlauf: <%= $i %> <br> 
    <% $i += 1 %> 
<% end %> 
+0

是什么'@ title'?它在哪里初始化? –

+0

对不起,标题在我的控制器中初始化。 “@title = data_array”title是一个二维数组 –

+0

您可以将'name'设置为您的'method_name',并且在选择时可以使用'send(method_name.to_sym)'调用相应的方法。 –

回答

1

如果@title代表一个模型,其中有例如“AAA”字符串类型的字段,它可以有“ID”值,“名称”的价值和“产品编号”,尝试使用此:

<% @title.each do |row| %> 
     <% if row.aaa == "ID" %> 
      #code for ID option 
     <% elsif row.aaa == "Name" %> 
      #code for Name option 
     <% elsif row.aaa == "Artikelnummer %> 
      #code for Artikelnummer option 
     <% end %> 
<% end %> 

这是我的想法。告诉我它是否会帮助你。

但我认为你可以在其中使用form_for helper和radio_button helper:checked选项和整个form_for你可以通过CSS设计每个<li class="sth"><%= f.radio_button "Name", checked: true%></li>,但我应该检查这个解决方案是否正确。

RGDS, 玛塔

+0

糟糕的是他试图做一些事情,当单选按钮被选中。所以并不完全是一个服务器端问题。 –

相关问题