0

我试图让 2 个按钮在相同形式的导轨中工作。我有一个带有添加用户和注册按钮的登录表单。我的控制器中有 2 个方法已经处理了这 2 个不同的请求。

但是,我阅读了有关使用附加参数进行解析以确定调用哪个按钮的建议。对于此解决方案,您不需要使用另一个控制器方法进行一定程度的间接解析吗?我读到让一个控制器调用另一个控制器不是好的 MVC 做法。在这种情况下,在 MVC 控制器类中调用另一个方法是一种不好的做法吗?

我的表格:

<%= form_tag("users/delegate", :method=>"post") do %>
    <%= label_tag(:user, "Username:") %>
    <%= text_field_tag(:user) %>
    <br/><br/>
    <%= label_tag(:password, "Password:") %>
    <%= password_field_tag(:password) %>
    <br/><br/>
    <%= submit_tag "Login", :name=>'login' %>
    <%= submit_tag "Add User" %>
<% end %>

另外,如何将 post 请求中的参数传递给其他方法?我基本上做到了,但没有通过论点。我需要将参数传递给其他方法吗?是全局变量吗?

def delegate
    if params[:login]
      login_post()
    else
      add_post()
    end
  end

def login_post
    user = params[:user]
    password = params[:password]
    errCode = UserModel.login(user,password)
    if (errCode>0)
        count = errCode
        errCode = 1
    end
    final_obj = {:errCode=> errCode, :count=>count}
    respond_to do |format|
        format.json { render :json=>final_obj, :status=>200}
    end
  end
4

1 回答 1

0

你应该这样做:

def delegate
  if params[:login]
    login_post(params[:user], params[:password])
  else
    add_post()
  end
end

def login_post(user, password)
  #do your things
end
于 2013-02-15T18:52:27.873 回答