0
我正在显示数据库中的城市列表,每个都是链接。我想要当用户点击任何城市时,该行动通过抓住该城市的标识进行响应,并在下一个动作中使用它(显示动作在这种情况下)。那么你如何从链接中获得一个ID?以下是我的想法,没有工作。提前感谢您。我如何从链接访问ID?
查看/城市
<%@cities.each do |city| %>
<a href="/deal/city"><%=city.name%></a><br/>
<%end%>
控制器
Class DealController < ApplicationController
def all_cities
@cities=City.find(:all)
end
def city
@city=City.find(params[:city_id])
session[:city_id] = @city.id
redirect_to :controller=>"deal",:action=>"show"
end
def show
unless session[:city_id].nil? || session[:city_id].blank?
@city = City.find(session[:city_id])
@[email protected]
end
end
路线
get "deal/city"
match 'deal/city' => "deal#city"
非常感谢你的工作! – katie
@katie ...在你的代码中,我看到'除非session [:city_id] .nil? ||会话[:city_id] .blank?''实际上'.blank?'检查'nil'值(事实上它检查'nil','''''''''''']'什么不是) 。所以你的代码可以简化为'除非session [:city_id] .blank?'或者使用'.present?',这与'.blank?'相反,'if session [:city_id] .present?'(这是更可读的恕我直言) – rubyprince