Что означает эта строка в Ruby? - PullRequest
3 голосов
/ 24 августа 2010
def show
  render :text => params.inspect
end

Что такое render :text =>?

Что такое render, :text и =>?
Это стандартный рубин?

Ответы [ 5 ]

5 голосов
/ 24 августа 2010

Синтаксис, который вы видите в этом фрагменте кода, не ограничивается 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
3 голосов
/ 24 августа 2010

render - это рельсы API. См. Документ . Для всего остального позвольте мне порекомендовать вам что-то , и вы поймете.

2 голосов
/ 24 августа 2010

синтаксис, который вы опубликовали, - более красивый способ написания

render({:text => "hello world"})

По сути, вы вызываете метод, передавая объект Hash (который представляет собой набор пар ключ-значение). Хеш содержит 1 пару с ключом: text (: указывает на то, что это символ с именем text), значением является строка «hello world»

Я думаю, что вы действительно должны прочитать руководство по началу работы с ruby, прежде чем копать слишком глубоко в рельсы.

1 голос
/ 24 августа 2010
render :text => "hello world!"

Отображает открытый текст "Hello World" с кодом состояния 200

Вот что означает :text => ... см. http://api.rubyonrails.org/classes/ActionController/Base.html

1 голос
/ 24 августа 2010

Визуализация: текстовая идиома предназначена для визуализации текста непосредственно в ответе без просмотра.Он используется здесь для целей отладки, он выгружает содержимое хэша params на страницу ответа, не просматривая страницу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...