提前感谢您的帮助!在我的Ruby on Rails应用程序中,我的搜索表单返回结果,除非我在下拉字段中使用特定选项。此选项不返回任何结果,但应该。
设置:Rails 2.3X / MySQL数据库。该表单从名为“Masterlocations”的MySQL表中提取结果,该表有一个名为geo_region的列。我正在尝试通过geo_region对记录进行基本查找。它适用于我的下拉列表中的每个选项,除了“New England CT ME MA NH RI VT”
以下是相关的表单字段:
<p><label for="region">Region</label>
<select id="geo_region" name="search[geo_region]">
<option value=""> </option>
<option value="Far West AK CA HI NV OR WA">Far West AK CA HI NV OR WA</option>
<option value="Great Lakes IL IN MI OH WI">Great Lakes IL IN MI OH WI</option>
<option value="Mid East DE DC MD NJ NY PA">Mid East DE DC MD NJ NY PA</option>
<option value="New England CT ME MA NH RI VT">New England CT ME MA NH RI VT</option>
<option value="Plains IA KS MN MO NE ND SD">Plains IA KS MN MO NE ND SD</option>
<option value="Rocky Mountains CO ID MT UT WY">Rocky Mountains CO ID MT UT WY</option>
<option value="Southeast AL AR FL GA KY LA MS NC SC TN VA WV">Southeast AL AR FL GA KY LA MS NC SC TN VA WV</option>
<option value="Southwest AZ NM OK TX">Southwest AZ NM OK TX</option>
<option value="US Service schools">US Service schools</option>
</select>
我尝试过的事情:
我将选项更改为:“New England CT”并更改了数据库中的一个值以进行匹配。仍然无效。
然后,我将选项改为:“New England”并更改了数据库中的一个值以匹配。这有效,但我不知道为什么,我宁愿避免更改所有数据库值。
再次感谢您的帮助!
答案 0 :(得分:0)
我打算把它写成评论,但它太大了:
IMO,你最好给<select>
id
一个#view
<select id="geo_region" name="search[geo_region]">
<option value=""> </option>
<option value="0">Far West AK CA HI NV OR WA</option>
<option value="1">Great Lakes IL IN MI OH WI</option>
<option value="2">Mid East DE DC MD NJ NY PA</option>
<option value="3">New England CT ME MA NH RI VT</option>
<option value="3">Plains IA KS MN MO NE ND SD</option>
<option value="4">Rocky Mountains CO ID MT UT WY</option>
<option value="5">Southeast AL AR FL GA KY LA MS NC SC TN VA WV</option>
<option value="6">Southwest AZ NM OK TX</option>
<option value="7">US Service schools</option>
</select>
列表,你可以在Rails控制器中引用它,如下所示:
#controller
def your_method
regions = Model.regions
#db call here
end
#model
def self.regions
regions = []
regions << %w(Far West AK CA HI NV OR WA)
regions << %w(Great Lakes IL IN MI OH WI)
regions << %w(Mid East DE DC MD NJ NY PA)
regions << %w(Plains IA KS MN MO NE ND SD)
regions << %w(Rocky Mountains CO ID MT UT WY)
regions << %w(Southeast AL AR FL GA KY LA MS NC SC TN VA WV)
regions << %w(Southwest AZ NM OK TX)
regions << %w(US Service schools)
regions
end
这将允许您使用传递的ID来创建数组或类似的查询:
{{1}}