Ruby on rails rails上的单选按钮条件

Ruby on rails rails上的单选按钮条件,ruby-on-rails,ruby,ruby-on-rails-3,ruby-on-rails-3.1,rubygems,Ruby On Rails,Ruby,Ruby On Rails 3,Ruby On Rails 3.1,Rubygems,我对此代码有一些问题。我正在尝试为我的数据库创建“高级”搜索。请求两种类型的数据(胶片和位置)。location one完美无瑕地工作,并显示一个位置附近的所有电影院。但是,输入电影的特定名称是否可以做到这一点 Location Controller: if params[:allcinemas].checked? if params[:search].present? @locations = Location.near(params[:search], 10, :order =&

我对此代码有一些问题。我正在尝试为我的数据库创建“高级”搜索。请求两种类型的数据(胶片和位置)。location one完美无瑕地工作,并显示一个位置附近的所有电影院。但是,输入电影的特定名称是否可以做到这一点

Location Controller:
if params[:allcinemas].checked?
  if params[:search].present?
    @locations = Location.near(params[:search], 10, :order => :distance)
    @title = "Search Results:"
  else
    @locations = Location.joins(:cinema).order("cinemas.name").all
    @title = "Locations of Cinemas"   
  end
elsif params[:allmovies].checked?
  if params[:search].present?
    @films = Film.near(params[:search], :order => :title)
  else
    @films = Film.find(:all, :order => "title") 
  end
这是位置的Show.Html.erb

show.html.erb
<p>
 <%= text_field_tag :search, params[:search] %>
 <%= submit_tag "Search Nearby Cinemas", :name => nil %>
 <br><%= radio_button_tag 'allcinemas', 'cinemas', true %> Cinemas
 <br><%= radio_button_tag 'allmovies', 'movies' %> Movies
</p>
show.html.erb

零%>

电影院
电影


您的单选按钮标签应具有相同的名称,例如:

电影院

电影

现在,你的控制器无线电输入检查了吗?将始终返回true,因为您默认选择了一个选中的选项。因此,代替此检查:
if params[:allcinemas]。已检查?

检查params[:radio_input]返回的值:
如果参数[:单选按钮]=“电影院”

#处理电影院的逻辑

else

#你的电影逻辑


这应该可以解决你的问题。

我还没有完全明白你的问题,你能更具体地说明你想做什么吗?当然,我有一个搜索字段,它只能根据google so(邮政编码、名胜)搜索最近的电影院。我试图实现的是在submit按钮下增加2个选项,允许用户选择(电影或电影院)。简单来说,如果选中了电影单选按钮,并且输入了搜索,则根据标题查找电影。否则,找到所有的电影。否则,如果用户已检查电影院,则查找最近的电影院,否则将查找所有电影院。终点