2015-06-19 3 views
1

Вы можете видеть here, что кажется, что исходное содержимое моей БД печатается на странице. Я не вижу нигде в своем коде, почему будет исходный вывод db, напечатанный в представлении. Вот код для индексном:Содержимое Raw Database, отображаемое в Rails View

<div class="main"> 
    <div="messages"> 
     <%[email protected] do |t|%> 
     <h2 class="subject"><%=t.subject%></h2> 
     <p class="content"><%=t.content%></p> 
     <% end %> 
     <%=link_to "Create Message", edit_path%> 
    </div> 
</div> 

Создать Форма/Вид:

<div class="formWrapper"> 
    <%= form_for @messages do |t|%> 
    <div class ="Inputs"> 
     <%=t.text_field :subject%><br> 
     <%=t.text_area :content%> 

     <div class="submit"> 
      <%=t.submit "Submit"%> 

     </div> 
     <%end%> 
    </div> 
</div> 

Контроллер:

class MessagesController < ApplicationController 
    def index 
     @messages=Message.all 
    end 
    def new 
     @messages=Message.new 
    end 
    def create 
     @messages = Message.new(message_params) 
      if @messages.save 
      redirect_to '/' 
       else 
      render 'new' 
      end 
    end 
    private 
    def message_params 
     params.require(:message).permit(:content, :subject) 
    end 

end 

ответ

3

вам не нужен = здесь: <%[email protected] do |t|%>, знак равенства указывает erb, чтобы показать каждое сообщение на экране.

<% %>

будет выполнять Ruby-код без влияния на страницу HTML визуализируемого. Выход будет выброшен.

<%= %>

будет выполнять Ruby-код и вставить вывод этого кода вместо <% =%>

пример ...

<% puts "almost" %> nothing to see here будет отображаться как

nothing to see here

однако

<%= puts "almost" %> nothing to see here

будет отображаться как

almost nothing to see here

Посмотрите на <% %>(without equal) in ruby erb means?

+0

Это работает, почему это было показать необработанный базу данных? –

+0

Я отредактировал ответ с объяснением, если вы хотите узнать больше: http://www.stuartellis.eu/articles/erb/ HAML - еще один интерпретатор ruby ​​для html-страниц, возможно, вы захотите его увидеть : http://haml.info/tutorial.html –

+0

Спасибо @Santiago Suárez –