2015-07-19 4 views
0

У меня есть эта функция в моем контроллереРубин NoMethodError - неопределенный метод в контроллере

def create 
    @tweet = Tweet.new(tweet_params) 
    @tweet.user_id = current_user.id 

    respond_to do |format| 

     if @tweet.save 
      format.html { redirect_to root_path, notice: "hello" } 
      format.js { render action: 'create', success: true, location: @tweet } 
     else 
      format.html { render action: 'show' } 
      format.js { render action: 'create', success: false } 
     end 

    end 

end 

формы устанавливается на удаленный: верно, так это мой create.js.erb

, но я получил его ошибка

NoMethodError (undefined method `tweet_url' for #<TweetsController:0x007f8de60e4b58>): 
    app/controllers/tweets_controller.rb:13:in `block (2 levels) in create' 
    app/controllers/tweets_controller.rb:9:in `create' 

любая идея, почему отображается эта ошибка?

+0

Можете ли вы опубликовать свой файл маршруты? –

+0

Я верю, что это имеет какое-то отношение к 'location: @ tweet'? – adamliesko

ответ

5

попробуйте изменить это к этому, если вы хотите сделать create.js.erb

format.js { render action: 'create', success: true, location: @tweet } 

просто это

format.js 
+0

Я думаю, что мой ответ решит проблему. но также вы можете показать мне ваш create.js.erb – Athar

+0

да, ваш ответ решил проблему :) –

Смежные вопросы