Mar*_*nas 3 checkbox ruby-on-rails
我不知道如何返回选中的值.有我的代码
controller:
def index
// there I would like to get checked cities
respond_to do |format|
format.html # index.html.erb
format.xml { render :xml => @cities }
end
end
viewer:
<%= render 'form' %>
_form:
<% for cities in Database.find(:all) %>
<div>
<%= check_box_tag cities.city1 %>
<%= cities.city1 %>
</div>
<% end %>
Run Code Online (Sandbox Code Playgroud)
编辑
我试过了:
@cities = Database.find(:all)
params[:cities].each do |city|
...
end
Run Code Online (Sandbox Code Playgroud)
和
<% for city in @cities %>
<%= check_box_tag "cities[]", city.id %> <%= city.city1 %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
但得到了错误:
You have a nil object when you didn't expect it!
You might have expected an instance of Array.
The error occurred while evaluating nil.each
Run Code Online (Sandbox Code Playgroud)
嗨您的问题似乎与HABTM类似,通过复选框尝试
<%form_tag "some_action", :method => :post do %>
<% Database.find(:all).each do |city| %>
<div>
<%= check_box_tag "cities[]",city.city1, :false %>
<%= citiy.city1 %>
</div>
<% end %>
<%end%>
Run Code Online (Sandbox Code Playgroud)
和内部控制器
def some_action
if !request.post?
@cities = Database.find(:all)
render 'view'
else
params[:cities].each do |city|
...
end
redirect_to view_path
end
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9152 次 |
| 最近记录: |