由于'HTML'没有属性'name',我正在寻找一种方法来接受我在控制器中填充的值,并为其分配变量名称以供其他用途使用。 这是我的代码样本:`
enter code here<form action="<%=url_for(:action =>:make_comment) %>">
<fieldset>
<select>
<%@category.each {|x|%>
<option id="label"> <%=x%></option>
<%}%>
</select>
</fieldset>
<input type="submit" value="submit"/>
</form>`
答案 0 :(得分:2)
您是说您的html没有name
属性?如果是这样,为什么?
name属性是服务器将其解释为您要发送的值的“键”。我不知道你还有什么方法可以尝试这样做。
也许如果您从控制器和视图中粘贴一些代码,我可以给出更好的答案。
修改:看到您修改过的问题后,您要执行的操作是select
标记包含name
属性,而您的option
代码具有value
属性使用您要发送的值。
希望这有帮助。
答案 1 :(得分:2)
此示例显示如何创建选择标记:
select("post", "person_id", Person.all.collect {|p| [ p.name, p.id ] }, {})
在这种情况下,您可以通过
获取(在您的控制器中)所选选项的值params[:post][:person_id]
这是你想要的吗?如果我误解了你的问题,请告诉我。