3

Ryan Bates のrailscastで最高の場所の gem をフォローしましたが、適切に動作させることができません。user.rb モデルで before_create に設定したデフォルト値がページに表示されますが、クリックして編集することはできません。静的要素として表示されているだけです。ただし、Firebug は best_in_place JavaScript がビューに読み込まれていることを示しています<head>

アプリケーション.js

//= require jquery
//= require jquery_ujs
//= require bootstrap
//= require jquery-ui
//= require jquery.purr
//= require best_in_place
//= require_tree .

users.js.コーヒー

jQuery ->
  $('.best_in_place').best_in_place()

user.rb

attr_accessible :email, :name, :password, :password_confirmation, :avatar, :goal
...
before_create :default_values
...
  private

    def default_values
      self.goal ||= "Write Current Goal Here"
    end

users_controller.rb

respond_to :html, :json
...
  def update
    @user = User.find(params[:id])
    respond_to do |format|
      if @user.update_attributes(params[:user])
        format.html {
          flash[:success] = "Profile updated"
          sign_in @user
          redirect_to @user
        }
        format.json { respond_with_bip(@user) }
      else
        format.html { render 'edit' }
        format.json { respond_with_bip(@user) }
      end
    end
  end

ユーザー/show.html.erb

...
<%= best_in_place @user, :goal %>
4

3 に答える 3

2

あなたのlayouts/application.html.erb ..の代わりjavascript_include_tag(:all)

javascript_include_tag(:application) 

users.js.coffeeまた、に住んでいることを確認してくださいapp/assets/javascript

編集

Gemfile で指定された gem とバンドルがインストールされていることを確認します。

gem "best_in_place"

Said Kaldybaevが提案したように、これを試してください

//= require jquery
//= require jquery_ujs
//= require bootstrap
//= require jquery-ui
//= require jquery.purr
//= require_tree .
//= require best_in_place

次に、コーヒーの代わりに、ページの上部でこれを行います。

$(document).ready(function() {
  $('.best_in_place').best_in_place();
})

それでもうまくいかない場合は、削除//= require best_in_placeして//= require jquery.purrから実行してください

rails g best_in_place:setup
于 2012-07-17T15:42:23.360 に答える
1

これは私のために働く:

変化する

$(document).ready(function() {
/* Activating Best In Place */
jQuery(".best_in_place").best_in_place();
});

$(document).ready(function() {
于 2012-08-16T16:44:22.913 に答える
1

私も同じ問題を抱えていました.require best_in_placeをrequireリストの最後に移動することで解決しました

//= require jquery
//= require jquery_ujs
//= require bootstrap
//= require jquery-ui
//= require jquery.purr
//= require_tree .
//= require best_in_place
于 2012-07-17T16:03:01.477 に答える