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