Создание формы (Ruby on Rails) - PullRequest
3 голосов
/ 19 марта 2012

Я создал форму в Rails 3.2, используя следующий формат, но когда я открываю представление публикации, я не вижу форму, позволяющую мне оставлять комментарии. Что может быть не так?

<%= form_tag(:controller => "posts", :action => "create") do %>  
  <%= label_tag(:message, "What are you doing?") %><br />  
  <%= text_area_tag(:message, nil, :size => "44x6") %><br />  
  <%= submit_tag("Update") %>  
<% end %>

Ответы [ 2 ]

4 голосов
/ 19 марта 2012

В Rails 3 помощники form_ * возвращают разметку, а не выводят ее напрямую.Изменить:

<% form_tag(:controller => "posts", :action => "create") do %>

на:

<%= form_tag(:controller => "posts", :action => "create") do %>
1 голос
/ 19 марта 2012

Проверьте файл маршрутов и убедитесь, что он правильный. И сделайте знак = в вашем первом ряду. Думаю, это может сработать. Но когда у вас есть форма для ресурса, рекомендуется использовать form_for:

<% form_for @posts.each do |p| %>
<%= p.label :message %><br />
<%= p.text_area :message, nil, :size => "44x6" %><br />
<%= submit_tag("Update") %>
<% end %>

Кроме того, избегайте
. Стиль вашей формы с помощью CSS (DIV, классов и т. Д.). Конечно, вы должны будете сделать @posts var в вашем контроллере, чтобы это работало:

@posts = Post.all

Надеюсь, это поможет

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