BGames
Olá visitante! Seja bem vindo á BGames!

Para ter total acesso ao nosso fórum é preciso que você se registre.

Registre-se Aqui!


PARA VER LINKS E IMAGENS É PRECISO SE REGISTRAR!


BGames
Olá visitante! Seja bem vindo á BGames!

Para ter total acesso ao nosso fórum é preciso que você se registre.

Registre-se Aqui!


PARA VER LINKS E IMAGENS É PRECISO SE REGISTRAR!

BGames
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

BGamesEntrar

Fórum de Desenvolvimento de Jogos e Programação


description[Tutorial] Ruby on Rails Visualizações - ActionView Empty[Tutorial] Ruby on Rails Visualizações - ActionView

more_horiz
A View Rails é um programa ERb que compartilha dados com os controladores através de variáveis ​​mutuamente acessíveis.

Se você olhar no diretório app / vista da aplicação de biblioteca, você vai ver um subdiretório para cada um dos controladores que criamos: livro. Cada um destes subdiretórios foi criado automaticamente quando o controlador de mesmo nome foi criado com o script generate.

Agora, assumindo que o seu servidor web está em funcionamento. Tente dar a seguir na caixa de endereço do seu navegador:

Código:

http://localhost:3000/book/list


Você começa a seguinte mensagem de erro porque você não definiu qualquer arquivo de visão para qualquer método definido no controlador.


[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]


Rails permite que você saiba que você precisa para criar o arquivo de exibição para o novo método. Cada método definido na controlador precisa ter um arquivo RHTML correspondente, com o mesmo nome que o método, para exibir os dados de que o método é colectores.

Assim, permite criar arquivos de visão para todos os métodos que definimos em book_controller.rb.
Criação de arquivo de exibição para o método de lista:

Crie um arquivo chamado list.rhtml usando seu editor de texto favorito e salvá-lo em app / views / livro. Depois de criar e salvar o arquivo, atualize seu navegador. Você deverá ver uma página em branco, se você não fizer isso, verifique a ortografia de seu arquivo e certifique-se de que é o exatamente o mesmo método que o seu controlador.

Agora exibir conteúdo real vamos colocar seguinte código list.rhtml.

Código:


<% if @books.blank? %>
<p>There are not any books currently in the system.</p>
<% else %>
<p>These are the current books in our system</p>
<ul id="books">
<% @books.each do |c| %>
<li><%= link_to c.title, {:action => 'show', :id => c.id} -%></li>
<% end %>
</ul>
<% end %>
<p><%= link_to "Add new Book", {:action => 'new' }%></p>


O código a ser executado é verificar se a matriz de livros tem quaisquer objetos nele. O branco.? método retorna true se a matriz é vazia e falsa se ​​ele contém todos os objetos. Este objeto foi criado em livros controlador dentro método lista.

O código entre o <% =%> marcas é uma chamada de método link_to. O primeiro parâmetro de link_to é o texto a ser exibido entre as tags . O segundo parâmetro é o que ação é chamada quando o link é clicado. Neste caso, é o método show. O parâmetro final é o id do livro que é passado através do objeto params.

Agora tente atualizar seu navegador e você deve ter tela seguinte, porque não temos qualquer livro em nossa biblioteca.

Nenhuma mensagem Livro

[Tens de ter
uma conta e sessão iniciada para poderes visualizar esta imagem]

Criação de arquivo de visão do novo método:

Até agora não temos qualquer livro em nossa biblioteca. Temos de criar poucos livros no sistema. Assim, permite desenho uma vista correspondente à nova metodologia definida no book_controller.rb.

Crie um arquivo chamado new.rhtml usando seu editor de texto favorito e salvá-lo em app / views / livro. Adicione o seguinte código para o arquivo new.rhtml.

Código:

<h1>Add new book</h1>
<%= start_form_tag :action => 'create' %>
<p><label for="book_title">Title</label>:
<%= text_field 'book', 'title' %></p>
<p><label for="book_price">Price</label>:
<%= text_field 'book', 'price' %></p>
<p><label for="book_subject">Subject</label>:
<%= collection_select(:book,:subject_id,@subjects,:id,:name) %></p>
<p><label for="book_description">Description</label><br/>
<%= text_area 'book', 'description' %></p>
<%= submit_tag "Create" %>
<%= end_form_tag %>
<%= link_to 'Back', {:action => 'list'} %>


Aqui método start_form_tag () interpreta o código Ruby em um
HTML normal utilizando todas as informações que lhe são fornecidas. Esta marca, por exemplo, emite o seguinte código HTML:

Código:

<form action="/book/create" method="post">


Próximo método é text_field que gera um campo de texto . Os parâmetros para text_field são objeto e nome do campo. Neste caso, o objeto é o livro eo nome é o título

Trilhos método chamado collection_select, cria um menu HTML select construído a partir de uma matriz, como por exemplo os livros de @ um. Existem cinco parâmetros, os quais são como se segue:

Código:

    : Livro - O objeto que você está manipulando. Neste caso, é um objeto livro.

    : subject_id - O campo que é preenchido quando o livro é guardado.

    livros - A matriz de que você está trabalhando.

    : id - O valor que é armazenado no banco de dados. Em termos de HTML, este é o parâmetro de valor da marca <option>

    : nome-A saída que o usuário vê no menu suspenso. Este é o valor entre as tags <option>.

O próximo é utilizado submit_tag, que gera um botão <input> que envia o formulário. Finalmente, há o método end_form_tag que simplesmente traduz </ form>.

Vá para o seu navegador e http://localhost:3000/book/new visita. Isto lhe dará tela seguinte.


[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]


Inserir alguns dados no formulário e, em seguida, clique no botão Criar. Isso resultará em uma chamada para criar método que não precisa de qualquer ponto de vista, porque este método está usando a lista ou novos métodos para ver os resultados. Então, quando você clicar no botão Criar, os dados devem apresentar com sucesso e está redireccionado para a página da lista, em que você tem agora um único item listado como segue:


[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]


Se você clicar no link, você deve ver outro modelo está faltando erro, pois você não tiver criado o arquivo de modelo para o método show ainda.
Criação de arquivo de exibição para o método show:

Este método irá exibir detalhes completos sobre qualquer livro disponível na biblioteca. Crie um arquivo show.rhtml em app / views / livro e preenchê-lo com o seguinte código:

Código:


<h1><%= @book.title %></h1>
<p><strong>Price: </strong> $<%= @book.price %><br />
<strong>Subject :</strong> <%= @book.subject.name %><br />
<strong>Created Date:</strong> <%= @book.created_at %><br />
</p>
<p><%= @book.description %></p>
<hr />
<%= link_to 'Back', {:action => 'list'} %>



Esta é a primeira vez que tiram proveito de associações, que permitem que você facilmente extrair dados de objetos relacionados.

O formato usado [Tens de ter uma conta e sessão iniciada para poderes visualizar este link]. Neste caso, você pode puxar o valor do sujeito nome através da variável livro usando as associações belongs_to. Se clicar em qualquer registro de listados em seguida, ele irá mostrar-lhe seguindo tela.

[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]


Criação de arquivo de exibição para o método de edição:
Crie um novo arquivo chamado edit.html e salvá-lo em app / views / livro. Preenchê-lo com o seguinte código:

Código:

<h1>Edit Book Detail</h1>
<%= start_form_tag :action => 'update', :id => @book %>
<p><label for="book_title">Title</label>:
<%= text_field 'book', 'title' %></p>
<p><label for="book_price">Price</label>:
<%= text_field 'book', 'price' %></p>
<p><label for="book_subject">Subject</label>:
<%= collection_select(:book, :subject_id,
                        @subjects, :id, :name) %></p>
<p><label for="book_description">Description</label><br/>
<%= text_area 'book', 'description' %></p>
<%= submit_tag "Save changes" %>
<%= end_form_tag %>
<%= link_to 'Back', {:action => 'list' } %>



Este código é muito semelhante ao método novo excepto acção a ser actualizada em vez de criar e definindo uma id.

Neste ponto, precisamos de alguma modificação no arquivo método de lista de exibição. Ir para o
  • elemento e modificá-lo para se parecer com o seguinte:

    Código:


    <li>
    <%= link_to c.title, {:action => "show", :id => c.id} -%>
    <b> <%= link_to 'Edit', {:action => "edit",
    :id => c.id} %></b>
    </li>


    Agora tenta procurar livros usando [Tens de ter uma conta e sessão iniciada para poderes visualizar este link] Ele lhe dará lista de todos os livros junto com opção Editar. Ao clicar em Editar opção, então você terá a seguinte tela:

    [Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]


    Agora você editar esta informação e em seguida, clique no botão Salvar alterações. Isso resultará em uma chamada para atualizar método disponível no arquivo do controlador e ele irá atualizar todos atribuem o mudou. Observe que o método de atualização não precisa de nenhum arquivo de vista, porque ele está usando mostrar ou editar métodos para mostrar seus resultados.
    Criação de arquivo de visão do método de exclusão:

    Remoção de informações de um banco de dados usando Ruby on Rails é quase fácil demais. Você não precisa escrever qualquer código de exibição de método de exclusão, pois esse método é usando o método de lista para exibir o resultado. Então vamos modificar list.rhtml novamente e adicionar um link de exclusão.

    Ir para o
  • elemento e modificá-lo para se parecer com o seguinte:

    Código:


    <li>
    <%= link_to c.title, {:action => 'show', :id => c.id} -%>
    <b> <%= link_to 'Edit', {:action => 'edit', :id => c.id} %></b>
    <b> <%= link_to "Delete", {:action => 'delete', :id => c.id},
    :confirm => "Are you sure you want to delete this item?" %></b>
    </li>


    O parâmetro: confirmam apresenta uma caixa de confirmação JavaScript perguntando se você realmente deseja realizar a ação. Se o usuário clicar em OK, o produto de ação, eo item é excluído.

    Agora tente livros de navegação usando [Tens de ter uma conta e sessão iniciada para poderes visualizar este link] Ele lhe dará lista de todos os livros junto com Editar e Excluir da seguinte forma:

    [Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]


    Agora usando a opção Excluir, você pode excluir qualquer registro relacionado.
    Criação de arquivo de visão do método show_subjects:

    Criar um novo arquivo, show_subjects.rhtml, no app / views / diretório livro e adicione o seguinte código a ele:

    Código:


    <h1><%= @subject.name -%></h1>
    <ul>
    <% @subject.books.each do |c| %>
    <li><%= link_to c.title, :action => "show", :id => c.id -%></li>
    <% end %>
    </ul>


    Você está aproveitando as associações através da iteração muitas listas um único assunto de livros.

    Agora modifique o Assunto: linha de show.rhtml modo que a lista assunto mostra um link.

    Código:


    <strong>Subject: </strong> <%= link_to @book.subject.name,
    :action => "show_subjects", :id => @book.subject.id %><br />


    A saída será uma lista de assunto na página de índice, para que os usuários possam acessá-los diretamente.

    Modificar list.rhtml para adicionar o seguinte para o início do arquivo:

    Código:

    <ul id="subjects">
    <% Subject.find(:all).each do |c| %>
    <li><%= link_to c.name, :action => "show_subjects",
    :id => c.id %></li>
    <% end %>
    </ul>


    Agora tente livros de navegação usando [Tens de ter uma conta e sessão iniciada para poderes visualizar este link] Ele irá exibir todos os assuntos com links para que você possa ver todos os livros relacionados a esse assunto.

    [Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]


    Spoiler :


    Última edição por Darkness em Seg 21 Jan 2013 - 12:24, editado 1 vez(es)
  • description[Tutorial] Ruby on Rails Visualizações - ActionView EmptyRe: [Tutorial] Ruby on Rails Visualizações - ActionView

    more_horiz
    Cara, olha esses seus tópicos, tudo colado, eu sei que você quer ajudar a comunidade, mas assim? quem vai parar pra ler isso? se quer ganhar pontos? Bugando tudo o html do fórum. Te dou um tempo para concertar isso, se quiser, ou se não eu apenas apago ele.

    description[Tutorial] Ruby on Rails Visualizações - ActionView EmptyRe: [Tutorial] Ruby on Rails Visualizações - ActionView

    more_horiz
    Tópico Atualizado.


    description[Tutorial] Ruby on Rails Visualizações - ActionView EmptyRe: [Tutorial] Ruby on Rails Visualizações - ActionView

    more_horiz
    privacy_tip Permissões neste sub-fórum
    Não podes responder a tópicos
    power_settings_newInicie sessão para responder