en Ruby on Rails se puede escribir un controlador de acción simple, como:¿Existe un equivalente a respond_to format.xml, etc. de Ruby on Rails en ASP.Net MVC?
def index
@movies = Movies.find(:all)
respond_to do |format|
format.html #index.html.erb
format.xml { render :xml => @movies }
format.json { render :json => @movies }
end
end
Para aquellos no familiarizados con RoR, def index
en este caso sería el equivalente de public ActionResult Index()
dentro de un controlador de ASP.Net MVC y permitiría a la llamadas siguientes:
http://example.com/Movies/Index
devuelve como una página hTML desde el punto de vista index.html.erb
(piensan index.aspx)
http://example.com/Movies/Index.xml
devuelve los mismos datos en formato XML (@movies
es el objeto que contiene los datos de todos los puntos de vista del uso)
http://example.com/Movies/Index.json
devuelve una cadena JSON, útil cuando se realizan llamadas JavaScript necesitan los mismos datos/lógica
Un flujo equivalente en ASP.Net MVC haría (si es posible) es probable ser algo como esto (si pudiera ser menos detallado, incluso mejor):
public ActionResult Index()
{
Movies movies = dataContext.GetMovies();
// any other logic goes here
switch (format)
{
case "xml":
return View("XMLVIEW");
break;
case "json":
return View("JSONVIEW");
break;
default:
return View();
}
}
Esto es muy práctico no tener que llevar un montón de diferentes acciones estorbar encima de su controlador, hay una manera de hacer algo similar en ASP.Net MVC?
No soy un Ruby pero ¿dónde está | vienen de, un encabezado de solicitud? –
Agregué algunas aclaraciones sobre cómo funciona, espero que ayude. – mynameiscoffey