2012-04-11 20 views
6

Tôi hoàn toàn bị mắc kẹt về lỗi này. Sử dụng Rails 3.1 cố gắng để thực hiện Formastic Bootstrap đá quý và nhận được lỗi:Formastic Bootstrap Rails Lỗi- Không có tập tin như vậy để tải ButtonsHelpers

` ': không có tập tin để tải - formtastic/giúp đỡ/buttons_helper (LoadError)

Application.css

*= require formtastic 
*= require formtastic-bootstrap 

Gemfile

group :assets do 
    gem 'sass-rails', " ~> 3.1.0" 
    gem 'coffee-rails', "~> 3.1.0" 
    gem 'uglifier' 
    gem 'less-rails-bootstrap' 
    gem 'bootstrap-sass' 
end 

formastic.rb

Formtastic::Helpers::FormHelper.builder = FormtasticBootstrap::FormBuilder 

gem 'formtastic' 

gem 'formtastic-bootstrap' 

buttons_helper

module FormtasticBootstrap 
    module Helpers 
    module ButtonsHelper 

     include Formtastic::Helpers::ButtonsHelper 

     def buttons(*args, &block) 

     html_options = args.extract_options! 
     html_options[:class] ||= "actions" 

     if html_options.has_key?(:name) 
      ActiveSupport::Deprecation.warn('The :name option is not supported') 
     end 

     if block_given? 
      template.content_tag(:div, html_options) do 
      yield 
      end   
     else 
      args = [:commit] if args.empty? 
      contents = args.map { |button_name| send(:"#{button_name}_button") } 
      template.content_tag(:div, html_options.except(:builder, :parent, :name)) do 
      Formtastic::Util.html_safe(contents.join) 
      end 
     end 

     end 

     def commit_button(*args) 
     options = args.extract_options! 
     text = options.delete(:label) || args.shift 

     text = (localized_string(commit_button_i18n_key, text, :action, :model => commit_button_object_name) || 
       Formtastic::I18n.t(commit_button_i18n_key, :model => commit_button_object_name)) unless text.is_a?(::String) 

     button_html = options.delete(:button_html) || {} 
     button_html.merge!(:class => [button_html[:class], "btn commit", commit_button_i18n_key].compact.join(' ')) 

     # TODO We don't have a wrapper. Add deprecation message. 
     # wrapper_html = options.delete(:wrapper_html) || {} 
     # wrapper_html[:class] = (commit_button_wrapper_html_class << wrapper_html[:class]).flatten.compact.join(' ') 

     accesskey = (options.delete(:accesskey) || default_commit_button_accesskey) unless button_html.has_key?(:accesskey) 
     button_html = button_html.merge(:accesskey => accesskey) if accesskey 

     Formtastic::Util.html_safe(submit(text, button_html)) 
     end 

    end 
    end 
end 

Trả lời

13

tôi đã cùng một vấn đề. phát hành dường như mới nhất của 2.2.0 formtastic (đẩy hôm qua) là không tương thích với formtastic-bootstrap

Cho rằng bạn phải chỉ rõ phiên bản trước của formtastic

Chỉ cần thêm dòng sau trên gem 'formtastic-bootstrap'

gem 'formtastic', " ~> 2.1.1" 

nó là phiên bản trước đó của formtastic.

+0

Chỉ là vận may của tôi! Cảm ơn. – johnnewbie