【问题标题】:Issue with form_tag in railsrails中form_tag的问题
【发布时间】:2016-06-13 11:30:49
【问题描述】:

我在我的 create.html.erb 文件中使用 form_tag。在这个 form_tag 下有一个按钮。现在我希望点击按钮后页面只会刷新,我不想重定向到任何地方。那么我应该在表单标签中写什么作为路径呢?

对于会话控制器,我的 view/sessions/create.html.erb 文件是:

<h4>Database contents here:</h4>

<table>                         
  <tr>  
    <th>ID</th>                        
    <th>AGE</th>
    <th>NAME</th>
  </tr>
  <% @data.each do |data| %>       
    <tr>
      <td><%= data.id %></td>  
      <td><%= data.age %></td>  
      <td><%= data.name %></td> 
    </tr>
  <% end %>                        
</table> 

<div>
  <%= form_tag :method => :get do %>
    <%= button_tag type: 'submit'  do %>
      <%= content_tag :div do%>
        <h4>View Data </h4><h4><%= @num %></h4>
     <% end %>
    <% end %>
  <% end %>
</div>

而我的 contollers/sessions_controller 文件是:

class SessionsController < ApplicationController
  def new
  end

  def index
  end

  def create
    user = User.authenticate(params[:email], params[:password])
    @data=Information.all
    @num=Information.count()
    @tym=Time.now.getutc
    if user
      session[:user_id] = user.id
      #redirect_to root_url, :notice => "Logged in!"

      #this part is for showing the content of the information table


      respond_to do |format|
        format.html
        format.xml { render xml: @data }
      end
    else
     flash.now.alert = "Invalid email or password"
     render "new"
    end
  end

  def destroy
    session[:user_id] = nil
    redirect_to root_url, :notice => "Logged out!"
  end
end

【问题讨论】:

  • 在表单命中的控制器动作中使用redirect_to :back。
  • 抱歉 acn 不明白...实际上是 Rails 中的新功能。你能告诉我在哪里写这个吗?
  • 当您点击按钮时,它会触发控制器中的任何操作吗?
  • 是的,,,它应该显示数据库的内容..
  • 如果它遇到控制器动作,那么控制器动作中的 redirect_to :back 应该可以工作

标签: ruby-on-rails forms ruby-on-rails-3 routes


【解决方案1】:

如果你只是想刷新你的页面,那么你不需要做一个 form_tag,为什么不点击按钮重定向回那个页面

<%= button_to "Refresh", sessions_path, :method => :get %>

【讨论】:

    猜你喜欢
    • 2011-01-30
    • 1970-01-01
    • 2014-01-09
    • 2013-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多