Rails – 根据无线电选择改变表单动作

我是一个Rails noob。 我不会说谎。 我的任务是采用两种forms并将它们变成一种动态forms。 这是一个登录/注册表单。 我唯一的问题是如何处理代码的Rails部分。 使用jQuery,我可以轻松地替换HTML表单操作,但是如何根据登录或注册无线电选择来替换rails代码中的操作/目标。

 '_login_form' do %>   '_sign_up_form' do %>  

我看到两个选项来解决你的问题。

使用javascript,您可以根据所选的单选按钮更改表单的操作。

 $("#radio").change(function() { var action = $(this).val() == "some_value" ? "login" : "sign_up"; $("#your-form").attr("action", "/" + action); }); 

或者,您可以在单个操作中处理这两种方法,并分别处理每个选项

 #view 

<%= radio_button_tag :option, "login" %> Orange

<%= radio_button_tag :option, "sign_up" %> Peach

#controller if params[:option] == "login" #do login elsif params[:option] == "sign_up" #do sign up end

我希望这有帮助!