所以,我在我的控制器中有一个方法“创建”,但是一旦我创建了我的模型,而不是显示模型本身,我希望我的视图只显示该模型的URL,例如:“http:// www.myapp.com/model/1" 。
我在我的控制器中定义了另一个动作,称为“url”,一旦模型被保存(在create方法内),我这样做:
format.html { render :action => "url" }
所以在这个网址视图中,我想显示我的模型的完整网址。
如何将模型网址放在那里?
答案 0 :(得分:2)
您可以使用每个控制器中可用的url_for
方法。
url_for(:action => 'login', :controller => 'members',
:only_path => false, :protocol => 'http')
将导致(示例):
http://www.example.com/members/login/
来源:http://api.rubyonrails.org/classes/ActionView/Helpers/UrlHelper.html#method-i-url_for
正如我之前所回答的那样(显然答案已被删除),您也可以通过给它一个对象来调用url_for
(例如新创建的模型实例):
# Create a new instance of a model:
@new_order = Order.new(...)
# And then get the url for that specific instance's location:
url_for(@new_order)
希望我帮忙!
答案 1 :(得分:0)
您需要将操作添加到config / routes.rb
get "model", :to => "model#url"
或成员行动
get "model", :to => "model#url", :on => :member