Ruby NoMethodError - 控制器中未定义的方法
Ruby NoMethodError - undefined method in controller
我的控制器有这个功能
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
表单设置为 remote: true 所以这是我的 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'
知道为什么会显示此错误吗?
如果要渲染,请尝试将此更改为此 create.js.erb
format.js { render action: 'create', success: true, location: @tweet }
就这么简单
format.js
我的控制器有这个功能
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
表单设置为 remote: true 所以这是我的 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'
知道为什么会显示此错误吗?
如果要渲染,请尝试将此更改为此 create.js.erb
format.js { render action: 'create', success: true, location: @tweet }
就这么简单
format.js