HTML5 в rails3 просмотров - PullRequest
       22

HTML5 в rails3 просмотров

0 голосов
/ 04 апреля 2011

У меня есть представление с некоторым встроенным рубином в нем ... я хочу вставить в него ячейку <td></td>, но когда я это делаю, она выдает несколько сообщений об ошибках? Это потому, что я объединяю текстовое поле и кнопку отправки во встроенный рубин.

Это мой код:

<table>
<% for answer in @question.answers %>
        <tr>

         <!-- this displays all the possible answers -->
        <td>
          <%= answer.text %>
        </td>

        <% if current_user.can_vote_on? (@question) %>  <!-- if a current user has not yet voted.. -->
        <td>  <%= form_tag('/vote', :method => "post") do
              hidden_field_tag('vote[answer_id]', answer.id) +
              submit_tag("Vote")    
            end %>    <!-- vote button.. -->
        <% end %>
        </td>
      </tr>
<% end %>

       <% if current_user.can_vote_on? (@question) %> <!-- this shows a answer text field -->
           <tr>
            <td>
            <%= form_tag('/vote/new_answer', :method => "post") do
              hidden_field_tag('answer[question_id]', @question.id) +
              hidden_field_tag('answer[user_id]', current_user.id) +
              text_field_tag('answer[text]')  + <!-- in here i want an extra </td><td> tag -->
              submit_tag('Vote')
            end %>
            </td>
          </tr>
       <% end %>

У меня вопрос: как выйти из встроенного рубина и в то же время остаться в объединенной строке ...? Я хочу добавить </td> и <td> после text_field_tag('answer[text]')

Я пробовал это:

<td>
        <%= form_tag('/vote/new_answer', :method => "post") do %>
        <%= hidden_field_tag('answer[question_id]', @question.id) %>
        <%= hidden_field_tag('answer[user_id]', current_user.id) %>
        <%= text_field_tag('answer[text]') %>
        </td>
        <td>
        <%= submit_tag('Vote') %>
        <% end %>
        </td>

И это работает!

Тайс

Ответы [ 2 ]

1 голос
/ 04 апреля 2011

Простой ответ: это невозможно.

Я предлагаю вам попробовать другой подход, например, использовать div s внутри ваших td элементов.Если бы я был тобой, я бы не связывал струны вместе.

<%= form_tag('/vote/new_answer', :method => "post") do %>
  <%= hidden_field_tag(answer[question_id], @question.id %>
  ... so on ...
  <div class="position_it_somewhere_with_this_class"><%= submit_tag("vote") %></div>
<% end %>
0 голосов
/ 04 апреля 2011

Вы не объединяете теги!

Также вы не используете div в строках таблицы.поместите классы в свои тдс ...

   <%= form_tag('/vote/new_answer', :method => "post") do %>

    <%=  hidden_field_tag('answer[question_id]', @question.id) %>
    <%=  hidden_field_tag('answer[user_id]', current_user.id) %>
    <%=  text_field_tag('answer[text]') %>
    <%= submit_tag('Vote') %>
   <% end %>

  </td>
</tr>
..
...