我已经在我的模型,它通过名称找到记录创建自定义方式重定向:自定义方法在Rails的
def find_city
Place.find_by_name(city_name)
end
我可以在我的place_path(@place.find_city)
观点,调用此方法伟大的工程,当一个地方与适当的名称存在。我希望能够做的是写入一个重定向,当这个地方不存在时,我不确定逻辑应该在哪里。基本上,我想编写类似:
respond_to do |format|
if @place.find_city.blank?
format.html { redirect_to :action => "new" }
else
format.html { render :action => "show" }
end
end
...但我还是想控制器对place_path(@place)
以及响应以通常的方式。任何帮助将非常感激!
编辑:抱歉的混乱,应该进一步解释我的例子。我有一个同时具有'city_name'和'name'属性的Place模型。我上面详述的find_city
自定义方法查找其名称与另一个地方的city_name匹配的地方,例如。
Place.name = "foo"
Place.city_name = "baz"
因此,因此Place.find_city
给人的记录,其中Place.name = "baz"
。干杯!
您如何知道用户是否想要访问@place或访问@place城市?我想你需要更好地解释你想做什么..我真的无法得到它..当你做一个place_path(@place)你想让用户重定向到城市或@place?他们是一样的想法吗?对不起,我真的很困惑=) – robertokl 2010-08-25 18:27:12
我已经在上面添加了一些澄清,对于混淆抱歉! – Budgie 2010-08-25 19:03:31