使用form_tag从视图中消失数据

时间:2014-03-19 16:25:50

标签: ruby-on-rails ruby-on-rails-3.1

我正在尝试显示帖子列表,并添加一个带有Publish按钮的复选框,以便一次发布多个帖子。我可以很好地显示帖子列表,但是当我尝试将列表包装在基于this rails cast的form_tag中时,它不会显示任何帖子。

以下是我的观点:

        <table id="pending-posts" class="table table-striped">
          <thead>
            <tr>
              <th></th>
              <th>Name</th>
              <th>Created at</th>
              <th>User</th>
              <th>State</th>
              <th>City</th>
              <th>Expiration</th>
              <th>Published</th>
              <th>Actions</th>
            </tr>
          </thead>
          <tbody>
            <% form_tag toggle_selected_publish_posts_path, :method => :put do %>
                <% @posts_inactive.each do |post| %>
                  <tr>
                    <td><%= check_box_tag "post_ids[]", post.id %></td>
                    <td><%= link_to post.title, post_path(post) %></td>
                    <td><%= post.created_at.to_s(:short) %></td>
                    <td><%= post.user.email %></td>
                    <td><%= post.user.email %></td>
                    <td><%= post.state.name %></td>
                    <td><%= post.city.name %></td>
                    <td><%= post.expire_date.to_s(:short) %></td>
                    <td>
                        <div>
                            <div class="dark" style="float:left;">
                              <%= link_to 'Edit', edit_post_path(post), :class => 'btn btn-mini dark' %> &nbsp;
                            </div>
                            <div style="float:left;">
                              <%= button_to 'Delete', post_path(post), :method => :delete, :confirm => 'Are you sure?', :class => 'btn btn-mini btn-danger' %>
                            </div>
                            <div class="dark" style="float:left;">
                                 &nbsp; <%= link_to publish_link_text(post), 
                                            toggle_publish_post_path(post), 
                                            :class => 'btn btn-mini dark' %>
                            </div>
                            <div style="clear:both;">
                            </div>
                        </div>
                    </td>
                  </tr>
                <% end %>   
              <%= submit_tag "Publish Selected" %>
            <% end %>

          </tbody>
        </table>  

我按照轨道上的示例进行了操作并完全按照所示模拟了我的视图,路径和控制器,但我仍然没有得到任何东西。

当我删除表单代码行时,会显示数据,因此我认为问题与表单有关。

我一直把头撞在墙上一段时间,我被困住了。任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:3)

这一行

<% form_tag toggle_selected_publish_posts_path, :method => :put do %>

应该是

<%= form_tag toggle_selected_publish_posts_path, :method => :put do %>