我是RoR的新手,我一直在搜索和搜索,但似乎无法找到解决方案。我有一个简单的表格:
<%= form_for @case do |f| %>
<%= f.select( :case, options_for_select([['CASE1','CASE1'],['CASE2','CASE2'],['CASE3','CASE3'],['CASE4','CASE4']])) %>
<% end %>
那是在我的导航栏中。它不基于数据库中的任何表。
控制器:
class MyAppController < ApplicationController
before_filter :initialize_remote_user
def self.search(name)
@results = MyApp.search(params[:name])
@case = params[:case]
end
def result
@results = MyApp.where("name = ?",params[:name]).order("item_scan_date ASC")
puts @results.inspect
end
def update
end
def change
end
def show
@case = params[:case].inspect
end
def create
end
def new
end
def index
end
private
def name_params
params.require(:name).permit(:name)
end
def case_params
params.require(:case).permit(:case, :id)
end
当我@case = params[:case].inspect
时,它没有任何错误,但它不会从<%= form_for @case do |f| %>
我试过了
def show
@case = Case.find(params[:case])
end
但最终NameError uninitialized constant MyAppController::Case
@case = Case.find(params[:case])
错误
除了@case
nil
如果@case = params[:case]
中有def show
我得到'ArgumentError表单中的第一个参数在<%= form_for @case do |f| %>
答案 0 :(得分:0)
为表单尝试simple_form,请参阅:https://github.com/plataformatec/simple_form并阅读Collections下的文档以处理:case
的输入
还要确保您的创建方法和新方法不为空,否则您的表单将无法保存。
希望它有所帮助。