2015-05-23 2 views
0

На моей странице у меня есть некоторые описания-текст, в view.html.erb это выглядит какКак изменить содержание html.erb с сайта?

<p>"here is some text"</p> 

ниже я хотел бы сделать поле для ввода текста и после нажатия кнопки описание выше должно быть изменено. И теперь моя проблема заключается в том, как я должен это делать. Я думал о создании переменной в контроллере, как @text, а затем в view.html.erb

<p><%= @text %></p> 

, но я не знаю, как изменить @text значение. Или, может быть, есть другой способ решить эту проблему?

ответ

1

Вам необходимо создать форму, которая будет изменять вашу модель. Например, вам понадобится модель под названием Сообщение. Эта модель должна иметь поле, называемое текст.

В контроллере вам потребуется следующее:

@text = Post.text 

Для того, чтобы изменить Post.text вам нужно будет сделать:

<%= form_for @text do |f| %> 
    <%= f.text %> 
    <%= f.subimt %> 
<% end %> 
+0

Итак, мне нужно только модель, без контроллер? – adolzi

+0

вам понадобятся и модель, и контроллер. Подумайте о модели как о представлении объекта в системе. Как сообщение. Подумайте о контроллере как о чем-то, что берет ваш объект (сообщение) и готовит его для представления. –

+0

Прошу прощения, я новичок в рельсах, и я немного не понимаю. Вы имеете в виду, что в моем, например, HomeController в действии, где я хотел бы изменить текст, я должен добавить @text = Post.text и в связанном виде я должен вызвать form_for @text и т. Д.? Потому что, когда я это делаю, я получаю текст «undefinded method text» – adolzi

Смежные вопросы