Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/53.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery Rails ajax星级在初始更新时不返回评级_Jquery_Ruby On Rails_Ajax_Forms_Ruby On Rails 3.2 - Fatal编程技术网

Jquery Rails ajax星级在初始更新时不返回评级

Jquery Rails ajax星级在初始更新时不返回评级,jquery,ruby-on-rails,ajax,forms,ruby-on-rails-3.2,Jquery,Ruby On Rails,Ajax,Forms,Ruby On Rails 3.2,我正试图在我的网站上创建一个AJAX星级评定表。使用上的教程,我成功地接近了。但是,每当我试图通过单击另一个单选按钮向分级表提交更新时,我当前的用户对该对象的分级值将返回N/A,而不是正确的值。我跟随教程来到了T,我有点困惑为什么会发生这种情况 有没有人在创作类似作品时遇到过这种情况 这是我的评分表代码: <% content_for(:scripts) do javascript_include_tag 'public/rating_ballot' end

我正试图在我的网站上创建一个AJAX星级评定表。使用上的教程,我成功地接近了。但是,每当我试图通过单击另一个单选按钮向分级表提交更新时,我当前的用户对该对象的分级值将返回N/A,而不是正确的值。我跟随教程来到了T,我有点困惑为什么会发生这种情况

有没有人在创作类似作品时遇到过这种情况

这是我的评分表代码:

<%
    content_for(:scripts) do
        javascript_include_tag 'public/rating_ballot'
    end 
%>

<%= form_for rating_ballot, remote: true, html: { class: "rating_ballot" } do |f| %>
    <%= f.label "value_1", content_tag(:span, '1'), { class: 'rating', id: '1' } %>
    <%= radio_button_tag("rating[value]", 1, current_user_rating == 1, class: 'rating_button') %>
    <%= f.label "value_2", content_tag(:span, '2'), { class: 'rating', id: '2' } %>
    <%= radio_button_tag "rating[value]", 2, current_user_rating == 2, class: 'rating_button' %>
    <%= f.label "value_3", content_tag(:span, '3'), { class: 'rating', id: '3' } %>
    <%= radio_button_tag "rating[value]", 3, current_user_rating == 3, class: 'rating_button' %>
    <%= f.label "value_4", content_tag(:span, '4'), { class: 'rating', id: '4' } %>
    <%= radio_button_tag "rating[value]", 4, current_user_rating == 4, class: 'rating_button' %>
    <%= f.label "value_5", content_tag(:span, '5'), { class: 'rating', id: '5' } %>
    <%= radio_button_tag "rating[value]", 5, current_user_rating == 5, class: 'rating_button' %>

    <%= hidden_field_tag "game_id", @game.id %>
    <%= f.submit :submit  %>
<% end %>
下面是我在初次提交时单击第一个单选按钮时返回的示例

    <table id="rating">
                        <thead>
                            <tr>
                                <th colspan="2">Game Ratings</th>
                            </tr>
                        </thead>
                        <tbody><tr>
                            <td>Average Rating</td>
                            <td>1.0</td>
                        </tr>
                        <tr>
                            <td>Your Rating</td>
                            <td>N/A</td>
                        </tr>
                    </tbody>
</table>

游戏评级
平均评级
1
你的评级
不适用
以下是提交后刷新页面时的输出:

<table id="rating">
                    <thead>
                        <tr>
                            <th colspan="2">Game Ratings</th>
                        </tr>
                    </thead>
                    <tbody><tr>
                        <td>Average Rating</td>
                        <td>1.0</td>
                    </tr>
                    <tr>
                        <td>Your Rating</td>
                        <td>1</td>
                    </tr>
                </tbody>
</table>

游戏评级
平均评级
1
你的评级
1.

奇怪的是,在我进行页面刷新之前,Rails几乎无法对我的当前用户进行更新。

好的,在多次戳戳之后,我将一个“locals”参数放入update.js.erb文件,如下所示:

locals: {current_user_rating: params['rating']['value']}
我的新update.js.erb代码如下所示:

$('#rating').replaceWith("<%= escape_javascript(render partial: 'games/ratings-test', locals: {current_user_rating: params['rating']['value']}) %>");
$(“#评级”)。替换为(“”);

好的,经过多次戳戳,我成功地将一个“locals”参数放入update.js.erb文件,如下所示:

locals: {current_user_rating: params['rating']['value']}
我的新update.js.erb代码如下所示:

$('#rating').replaceWith("<%= escape_javascript(render partial: 'games/ratings-test', locals: {current_user_rating: params['rating']['value']}) %>");
$(“#评级”)。替换为(“”);