【发布时间】:2014-03-01 01:26:06
【问题描述】:
我正在使用 Rails 3.2。
我正在尝试制作一个表单,允许用户输入他们想要比较的大学,以及他们想要查看比较的标准。这是我的代码。当我提交表单时,它会重定向回页面,但不会显示 h1 标签中的参数。怎么了?
控制器
class ComparisonController < ApplicationController
def view
@summaries = Summary.all
@colleges = College.all
end
def update
@college_listing = params[:comparison][:college]
@summary_listing = params[:comparison][:section]
redirect_to '/comparison', college_listing: "#{@college_listing}", summary_listing: "#{@summary_listing}", notice: 'Showing comparison.'
end
end
查看
<%= simple_form_for :comparison, :url => '/comparison/update' do |f| %>
<%= f.input :college, collection: ['University of Pittsburgh', 'University of Wisconsin - Madison', 'Colgate', 'Adelphi'], :input_html => { :multiple => true } %>
<%= f.input :section, collection: ['Professors', 'Classes', 'Difficulty', 'Campus', 'Food', 'Dorms', 'Safety', 'Social Atmosphere', 'Parties', 'Actuarial Science', 'Agriculture', 'Applied Math', 'Astronomy', 'Biology', 'Chemistry', 'Computer Science', 'Earth Science', 'Geology', 'Linguistics', 'Mathematics', 'Neuroscience', 'Physics', 'Statistics', 'Anthropology', 'Criminology', 'Economics', 'History', 'Political Science', 'Psychology', 'Sociology', 'Urban Studies', 'Women\'s Studies', 'Art', 'Classics', 'English', 'Film', 'History and Philosophy of Science', 'Literature', 'Music', 'Philosophy', 'Religious Studies', 'Theatre', 'African', 'Chinese', 'French', 'German', 'Italian', 'Japanese', 'Jewish', 'Latin American', 'Middle Eastern', 'Russian', 'Spanish', 'Other', 'Accounting', 'Finance', 'Management', 'Marketing', 'Bioengineering', 'Chemical', 'Civil', 'Computer', 'Electrical', 'Engineering Science', 'Industrial', 'Materials Science and Engineering', 'Mechanical', 'Nuclear', 'Architecture', 'Athletic Training', 'Communications/Journalism', 'Information Science', 'Nursing', 'Nutrition', 'Pharmacy', 'Public Health', 'Rehab Science', 'Social Work'], :input_html => { :multiple => true } %>
<%= f.button :submit %>
<% end %>
<h1><%= params[:college_listing] %></h1>
<h1><%= params[:summary_listing] %></h1>
【问题讨论】:
-
我有大声笑。我做了 Michael Hartl's, One Month Rails 和 learn-rails 教程。虽然仍在挣扎:/
-
我不明白。当我提交表单时,它会进入更新操作。然后我必须使用可用的变量重定向回视图操作。我如何使它们可用?视图操作无权访问提交的表单参数,所以我能想到的唯一方法是通过典型的 url 参数。
-
@mbratch 我在视图中尝试了
<h1><%= @college_listing %></h1> <h1><%= @summary_listing %></h1>,但没有成功。您是说控制器中的所有实例变量都可用于所有控制器操作吗? -
你能解释一下“没用”吗?您是否收到了错误,或者只是不是您预期的数据?
标签: ruby-on-rails ruby-on-rails-3 forms ruby-on-rails-3.2