def show
render :text => params.inspect
end
什麼是render :text =>
?這條線在Ruby中意味着什麼?
什麼是render
,:text
和=>
?
他們是標準的紅寶石嗎?
def show
render :text => params.inspect
end
什麼是render :text =>
?這條線在Ruby中意味着什麼?
什麼是render
,:text
和=>
?
他們是標準的紅寶石嗎?
你看到的代碼片斷中所使用的語法並不侷限於render()
,但在許多其他Ruby on Rail方法中很常見。
該方法使用簡化語法接受哈希映射。
代碼相當於
def show
render({:text => params.inspect})
end
其他代碼片段,其中包括相同的語法是:
def sign
Entry.create(params[:entry])
redirect_to :action => "index"
end
url_for :controller => 'posts', :action => 'recent'
url_for :controller => 'posts', :action => 'index'
url_for :controller => 'posts', :action => 'index', :port=>'8033'
url_for :controller => 'posts', :action => 'show', :id => 10
url_for :controller => 'posts', :user => 'd', :password => '123'
def show
@article = Article.find(params[:id])
fresh_when :etag => @article, :last_modified => @article.created_at.utc, :public => true
end
render
是rails API。見doc。對於其他一切,let me recommend you something,你會明白。
渲染:文本習語用於直接將文本呈現給響應,而沒有任何視圖。它在這裏用於調試目的,它將params散列的內容轉儲到響應頁面而不通過頁面視圖。
什麼是:text => ...是一個哈希映射?該方法「呈現」將該散列圖作爲參數? – TIMEX 2010-08-24 07:37:45
是的。它相當於'render({:text => params.inspect()})',但它有點乾淨。 :) – 2010-08-24 07:43:59
render :text => "hello world!"
呈現清晰的文本「Hello World」的狀態代碼:200
這是:text => ...
意思 參考http://api.rubyonrails.org/classes/ActionController/Base.html
您已發佈的語法編寫
render({:text => "hello world"})
基本的漂亮的方式,您正在調用一個方法,傳遞一個Hash對象(這是一組鍵值對)。哈希包含1對,關鍵字爲:text(:表示它是一個稱爲文本的符號),其值爲「hello world」的字符串
我認爲您應該真正閱讀Ruby入門指南挖得太深入軌道。
是我展示了一個lambda函數的例子嗎? – TIMEX 2010-08-24 22:00:12
@TIMEX:'is_positive = lambda {| x | x> 0}'。您在問題示例中編寫的內容是調用其他方法的方法。 – kiamlaluno 2010-08-24 22:51:29