gpt4 book ai didi

javascript - .js.erb 文件中的 Rails 实例变量

转载 作者:行者123 更新时间:2023-11-29 21:26:58 25 4
gpt4 key购买 nike

我有一个这样的 Controller Action 。行程_ Controller .rb

def delete_city
@new_itinerary = params[:new_itinerary] if params[:new_itinerary].present?
@step = params[:step]
if @step == 'two'
@city = City.find(params[:id])
@delete_rec = true
else
@city_item = CityItem.find(params[:id]) rescue nil
end
if @city_item.present?
@itinerary = @city_item.country_item.itinerary rescue nil
@itinerary = Itinerary.unscoped.find(params[:data_id])
if (@itinerary.present? and @itinerary.user_id == current_user.id) or (current_user.moderator?)
@country_item = @city_item.country_item
@city_item.destroy
@country_item.update_column('city_ids', @country_item.city_items.order(:sequence).pluck(:city_id))
@delete_rec = true
end
end
respond_to do |format|
if @delete_rec && @step != 'two'
format.js {render 'step_two.js.erb'}
elsif @delete_rec && @step == "two"
format.js {render 'delete_city_step_2.js.erb'}
else
format.js {render :text => 'fail'}
end
end
end

js.erb 是这样的:

删除_city_step_2.js.erb

a = $('a.cityCrossBtn[for='+"<%= @city %>"+']')
li = a.closest('.token-input-token-facebook')
li.hide();

我无法找到 a 元素。正确的语法是什么?

最佳答案

@city 将为您提供 ActiveRecord::Base 类的实例,我认为这是您在 .js.erb 文件中不希望看到的内容。您可能需要与该实例相关的属性,如 idname,您可以通过编写以下代码来实现:

a = $('a.cityCrossBtn[for='+"<%= @city.id  %>"+']')

关于javascript - .js.erb 文件中的 Rails 实例变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37250926/

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