【问题标题】:Rails Radio_button onchange reloadRails Radio_button onchange 重新加载
【发布时间】:2012-05-16 22:25:56
【问题描述】:

我的网站有两个评分选项(喜欢和星),所以我想添加一个单选按钮来选择应该加载哪个。

我现在有这个代码:

<%= radio_button_tag 'receive_updates', 'no', true %> Likes
<%= radio_button_tag 'receive_updates', 'no', false %> Stars

radio_button状态改变后,我想重定向到“root_path”。

我的问题,

  • 在没有模型的情况下如何在状态更改后重定向?
  • 如何控制点赞的真假?

我找到了一些像这样重定向的东西:

<%= radio_button_tag 'receive_updates', 'no', true , :on_change => root_path%> Likes

但是这个 on_change 不起作用。

【问题讨论】:

    标签: ruby-on-rails ruby ruby-on-rails-3 radio-button onchange


    【解决方案1】:

    不确定您想在这里做什么,但是,使用 Javascript,您可以在像这样调用“onchange”事件时重定向/传递参数:

    <%= radio_button_tag 'receive_updates', 'likes', false %> Likes
    <%= radio_button_tag 'receive_updates', 'stars', false %> Stars
    
    <script >
        $(function(){
            $("input[name=receive_updates]").change(function(){
                var root_path = "<%= root_path %>"
                var url = root_path + "?receive_updates=" + $(this).val();
                window.location.replace(url);
            });
        });
    </script>
    

    【讨论】:

    • 我如何保存当前状态,是否有可能将其保存在应用程序控制器中?
    • 您可以使用这里描述的会话存储:guides.rubyonrails.org/…
    • 在您的根控制器中,它可能看起来像这样session[:receive_updates]=params[:receive_updates] if params[:receive_updates] 和视图&lt;%= radio_button_tag 'receive_updates', 'likes', session[:receive_updates] == 'likes' %&gt; Likes
    • 谢谢
    • 会话在所有控制器中默认可访问,如 RoR 指南guides.rubyonrails.org/action_controller_overview.html#session中所述
    猜你喜欢
    • 2013-10-01
    • 1970-01-01
    • 2021-08-17
    • 2012-09-02
    • 2016-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多