【发布时间】:2016-07-14 13:17:48
【问题描述】:
编辑:我设法解决了这个问题。 Ship 控制器在 Ship 方法中。如果我理解这个问题,我的路线正在调用“get products/ship”,它正在调用该方法而不显示视图。重新安排之后,一切正常。
这一定是我忽略的初学者,但我在使用 form_for 制作的 rails 4.2.1 应用程序中有一个表单。
我的问题是我无法真正看到表单,它不会显示任何内容。更糟糕的是,它没有看到页面视图,而是简单地将 nil 传递给方法并给我错误,因为我的方法显然不适用于 nil。
我尝试使用路由文件无济于事,是否有一些我遗漏的简单内容会导致表单以这种方式运行?我查阅了官方指南和 hartl 教程,但一无所获。
编辑:我的产品控制器如下:
class ProductsController < ApplicationController
def new
@product = Product.new
end
def create
@product = Product.new(product_params)
end
def show
@product = Product.find(params[:code])
end
def ship
@product = Product.find_by(code: params[:code])
@product.quantity -= 1
if @product.save
respond_to do |format|
format.html {}
format.json{}
end
end
end
private
def product_params
params.require(:product).permit(:code, :product, :quantity)
end
end
我对ship方法的看法如下:
<%= form_for(@product) do |f| %>
<%= f.label :code %>
<%= f.text_field :code %>
<%= f.submit "Submit", class: "btn btn-primary" %>
<% end %>
如果有任何帮助,我将不胜感激。我已经盯着这个看了这么久,一定有什么我错过了。
【问题讨论】:
-
你能发布你的代码吗?
标签: ruby-on-rails ruby database forms