【发布时间】:2014-01-27 07:59:58
【问题描述】:
在我的 rails 应用程序中,我正在尝试创建一个控制器方法,该方法根据 if 语句呈现一个页面或重定向到另一个路径。我想一个解决方案可能是创建一个单独的方法,我可以调用具有其单独渲染的 if 语句。即使我应该属于 if 语句的第一部分,alert.html.erb 页面视图也永远不会显示。我的问题是在此操作中多次调用渲染和重定向(每次一次)。如何根据 if 语句将我的方法重定向到不同的地方?
def alert(url)
@urls = Url.all
render :alert
end
def update
id = params[:id]
updated_info = params.require(:url).permit(:link, :random_string, :clicks)
@url = Url.find(id)
if not Url.where(random_string: @url.random_string).empty?
alert(@url)
end
@url.update_attributes(updated_info)
redirect_to edit_url_path(@url.id)
end
【问题讨论】:
-
定义“不起作用”。另外,为什么需要单独的方法?
-
我编辑了问题,以便解释“不起作用”。
标签: ruby-on-rails redirect path render