rails3视图中的html5

时间:2011-04-04 13:12:44

标签: ruby-on-rails ruby html5 embedded-ruby

我有一个带有一些嵌入式ruby的视图...我想在其中插入一个单元格<td></td>,但是当我这样做时,它会给出一些错误消息?这是因为我将文本字段和提交按钮连接到嵌入式ruby中。

这是我的代码:

<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 %>

我的问题是:如何退出嵌入式ruby并同时保留在连接字符串中?我想在</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 个答案:

答案 0 :(得分:1)

简单回答:这是不可能的。

我建议您尝试使用其他方法,例如在div元素中使用td s。如果我是你,我就不会把这些字符串整合在一起。

<%= 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 %>

答案 1 :(得分:0)

你没有连接标签!

此外,您不在表行中使用div。把课程放在你的tds中     ...            

   <%= 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>
..
相关问题