简体   繁体   中英

ruby on rails form_for

I have a calendar_date_select in a view that shows a table listing all the information on a certain phone. I want to add a To: and From: date range that a user can select and update the table in the view. The structure is like this:

Usage Controller
Detail action in the usage controller that shows the call history from a certain phone.
Inside detail I want the To and from fields with a refresh button.

What is exactly happening in this code:

<% form_for :date_range do |f| %>
    <%= f.calendar_date_select :start, :time => true  %>
    <%= f.calendar_date_select :end, :time => true  %>
    <%= f.submit "Submit" %>
<% end %>

Does this pass a hash to the usage controller and look for a date_range method? My current route looks like this

usage/detail/id-of-phone

I would like it to look something like this:

usage/detail/id-of-phone#start-end

So I could then (I think) extract the start and end dates from the params with just params[:start] and params[:end]. Am I doing this right, or is there a better way to get the desired result that I want.

I haven't used the calendar_date_select plugin, but you should be getting the parameters back already.

params[:date_range][:start]
params[:date_range][:end]

What you want is the url or the smart solution to get the params? Please set the routes.rb for the url. Or you can make many method in the 'DataRange' model.

As many programmers using, save many dates in the model. But making us terrible is using the params smartly. Such as

class Model
  def start
      ......
  end

  def end
      ......
  end
end

You can't get the params by params[:start] if you pass the params by the form. You can see the form's html for detail.

Please use the

params[:...][:start]

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM