Ruby 2.5.1p57 Rails 5.2.3
基本上,我有Controller,其中有我要从表单调用的方法'search'
IF OBJECT_ID('tempdb..#temptable') IS NOT NULL DROP TABLE #temptable
CREATE TABLE #temptable ( [VehicleKey] int, [RegistrationKey] int, [RegisteredOperatorKey] int, [StartDate] date )
INSERT INTO #temptable
VALUES
( 700090, 550983, 207287, N'2018-07-31T00:00:00' ),
( 700090, 1513637, 276879, N'2018-12-31T00:00:00' ),
( 700090, 1513637, 341604, N'2019-02-28T00:00:00' )
SELECT * FROM #temptable
几乎所有东西都按我想要的工作,除了'render'不会渲染'search'我什么也没有得到,也没有。我有这样的“搜索”
def search
Warehouse.where("product = '#{params[:product]}'").find_each do |warehouse|
Area.where("warehouse_id = #{warehouse.id} and post_codes like '%#{params[:postcode]}%'").find_each do |area|
PriceList.where("area_id = #{area.id} and number_of_pallets = #{params[:number_of_palette]}").find_each do |priceList|
puts "Warehouse #{warehouse} Area: #{area} PriceList #{priceList}"
render_pricing warehouse
end
end
end
end
def render_pricing(warehouse)
p warehouse # everything is here, I can see data which I want
@warehouse = warehouse
render 'search'
end
问题是网址没有更改并且我的“搜索” html没有加载新数据。我不确定自己做错了什么,原因是我还有其他5种类似的方法可以正常工作,但是我无法修复。
答案 0 :(得分:1)
我认为remote: true
默认添加的form_with
中的问题。
<%= form_with(url: warehouse_search_path, method: "get", :id => "search", local: true) do %>
必须解决您的问题。 https://api.rubyonrails.org/v5.1/classes/ActionView/Helpers/FormHelper.html#method-i-form_with