gpt4 book ai didi

javascript - Rails 4 中为一种表单传递了错误的图像 url,并从部分更正为另一种表单

转载 作者:行者123 更新时间:2023-12-02 22:15:49 24 4
gpt4 key购买 nike

我使用的部分以属于两个不同 Controller 的两种形式呈现,如下所示:

update_user.html.erb

<%= form_with model: @user,
url: {
controller: :profile,
action: :update_user
},
method: :post,
local: true do |f| %>

<%= render partial: 'shared/user_registration_fields', locals: { f: f, profile: @profile } %>

<%= f.submit 'Confirm' %>

<% end %>

new_user.html.erb

<%= form_for @user,
url: {
action: :register_user
},
method: :post,
local: true do |f| %>

<%= render partial: 'shared/user_registration_fields', locals: { f: f, profile: @profile } %>

<%= f.submit 'Confirm' %>

<% end %>

部分字段如下:

partial.html.erb

<%= f.fields_for :profile, profile do |prform| %>
<%= prform.label :date_of_birth, 'DOB' %><br />
<%= prform.text_field :date_of_birth, { class: 'datepicker', title: "Date_of_birth", value: (f.object.date_of_birth.strftime("%d-%m-%Y") if f.object.date_of_birth.present?) } %>

使用 jquery 渲染图像如下:

$( ".datepicker" ).datepicker({
showOn: "button",
buttonImage: "assets/form_images/calendar.png",
buttonImageOnly: true,
buttonText: "Select date of birth",
dateFormat: 'dd-mm-yy',
});

第一个表单位于以下路径 -> app/views/profile/update_user.html.erb第二种形式位于以下路径 -> app/views/login/new_user.html.erb部分位于以下路径 -> app/views/shared/_partial.html.erb

现在图像 assets/form_images/calendar.png 在此文件 new_user.html.erb 中显示,但不在 update_user.html.erb 中显示。当我从浏览器检查图像网址时,对于 new_user.html.erb 来说,它是 assets/form_images/calendar.png ,这是正确的,但对于 update_user.html 来说。 erb 它是 profile/assets/form_images/calendar.png 这是错误的。为什么会显示成这样呢?我在这里做错了什么?

最佳答案

这是因为,您正在使用配置文件嵌套属性,并且 Rails 正在附加 配置文件 路径。通过附加 .erb(如 filename.js.erb)来重命名您的 JS 文件,并像下面这样替换 buttonImage 代码并尝试。

buttonImage: "<%= asset_path('form_images/calendar.png') %>";

关于javascript - Rails 4 中为一种表单传递了错误的图像 url,并从部分更正为另一种表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59387774/

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