gpt4 book ai didi

ruby-on-rails - 使用 Rails 和不显眼的 javascript 呈现新 View

转载 作者:太空宇宙 更新时间:2023-11-03 16:54:49 27 4
gpt4 key购买 nike

我正在尝试使用 UJS 和 Rails 3 简单地呈现一个 View ,但它实际上不起作用。我已经阅读了很多教程,但似乎无法理解。以下是一些代码片段:

index.js.erb

"<%= render user_path(@this_user) %>"

index.html

<%= form_tag users_path, :method => :get, :remote => true do %>
<%= submit_tag "Test", :name => nil, :class => "btn" %>
<% end %>

用户 Controller .rb

def index
@users = User.all
@this_user = User.find(1)
respond_to do |format|
format.html # index.html.erb
format.js
format.json { render json: @users }
end
end

每次单击“测试”时,我都会得到以下输出:

Started GET "/users?utf8=%E2%9C%93" for 127.0.0.1 at 2012-10-19 11:31:49 -0700 Processing by UsersController#index as JS Parameters: {"utf8"=>"✓"} User Load (0.4ms) SELECT "users".* FROM "users"
User Load (0.2ms) SELECT "users".* FROM "users" WHERE "users"."id" = $1 LIMIT 1 [["id", 1]] Rendered users/index.js.erb (1.8ms) Completed 500 Internal Server Error in 6ms

ActionView::Template::Error (The partial name (/users/1) is not a valid Ruby identifier; make sure your partial name starts with a letter or underscore, and is followed by any combinations of letters, numbers, or underscores.): 1: "<%= render user_path(@this_user) %>" app/views/users/index.js.erb:1:in _app_views_users_index_js_erb__2145063269526192522_70203075823780'<br/>
app/controllers/users_controller.rb:9:in
index'

它似乎在寻找部分;但是我只希望它执行与用户 Controller 上的“显示”操作关联的 View 。一个全新的页面。

我做错了什么?第一步是呈现一个全新的 View ,但我打算在弄清楚之后在“显示”页面中呈现部分 View 。

在此先感谢您的帮助!

最佳答案

查看index.js.erb:

<%= render user_path(@this_user) %>

这是告诉 Rails 渲染一个名称为 user_path(@this_user) 的部分.

您查看文件index.js.erb需要返回 JavaScript。因此,以下将起作用:

alert('The Id of this User Object is: <%= @this_user.id %>');

将来,您可以通过执行以下操作来呈现部分(包含 JavaScript 代码):

$("#popup").html("<%= escape_javascript(render(:partial => 'show_sold_out_popup') %>");

关于ruby-on-rails - 使用 Rails 和不显眼的 javascript 呈现新 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12980471/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com