开发者

Custom Formtastic Control with Multiple Parameters

I'm attempting to build a custom control for Formtastic that takes a latitude and a longitude, however, I'm not sure how to go about passing the method names through. Ideally I'd have the following in the semantic_form_for block:

f.input :latitude, :longitude, :as => :location

I've also tried passing with an array:

f.input [:latitude, :longitude], :as => :location

But in both cases, this fails - the first on the number of parameters, the second 开发者_运维技巧on the first parameter not being a symbol.

Is there any way of passing two methods into #input that I'm missing?


OK, I've sorted this out by writing a plugin for Formtastic.

I've added a multi_input function that can take any number of parameters and an (optional) options hash. I've also added a map_input type that outputs the map control and JS (framework agnostic).

More details at the above link.


You can't pass multiple methods to a single input. What you could do is have an accessor on your model called, uh, lat_long or similar, which could return a string or array or whatever in a format which your location_input recognises and knows how handle.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜