【发布时间】:2012-07-30 13:02:52
【问题描述】:
我正在使用 Rails 和 jqPlot 在网页上显示一些数据。图表需要按日期灵活(例如,用户可以选择时间范围,图表会自行更新)。到目前为止,这是我的代码(在我看来):
<%= form_tag home_event_trends_path(params[:timePeriod]), :method => 'post' do %>
<p>
<%= select_tag :timePeriod, options_for_select(["2 Hours Ago", "1 Week Ago", "3 Months Ago"], :selected => params[:timePeriod]) %>
<%= submit_tag "Refresh", :name => nil %>
</p>
<% end %>
Home 是我的控制器,event_trends 是一个动作,我想。 (路径为localhost:3000/home/event_trends.3102030)
这很好用。但是,我还需要将另一个参数传递给我的控制器。这个网页已经有一个参数传递给它,params[:format](这是 URL 中的 3102030,它会根据我要显示的事件而变化),我也需要传递这个参数。我试过了:
home_event_trends_path(params[:timePeriod][:format])
home_event_trends_path(params[:timePeriod],[:format])
home_event_trends_path(params([:timePeriod][:format]))
等等。
如何让我的控制器从我的视图中查看多个参数?
【问题讨论】:
-
我建议避免使用 params[:format] 因为 Rails 使用它来知道要呈现的类型(JSON、JS、XML、HTML ...)。也看看guides.rubyonrails.org/form_helpers.html。这将帮助您了解表单在 Rails 中的工作方式
-
@AnthonyAlberto:我没有选择 :format,结果就是这样。我不知道如何改变它。此外,我一直在那个页面上上下下,这一切都在我的脑海中......
标签: html ruby-on-rails forms ruby-on-rails-3.2 ruby-1.9.3