嗨,我正在使用 Rails 4rc1。真的想不通,为什么在我的文件中没有@feed.id
识别出来。feeds.js
谢谢帮助。
NoMethodError in Feeds#index
Showing myapp/app/views/layouts/application.haml where line #6 raised:
undefined method `id' for nil:NilClass
(in myapp/app/assets/javascripts/feeds.js.coffee.erb)
# 应用程序.haml
%head
%title Rails4Bootstrap
= stylesheet_link_tag "application", media: "all", "data-turbolinks-track" => true
= javascript_include_tag "application", "data-turbolinks-track" => true
= csrf_meta_tags
%body
# feeds_controller.rb
def index
@feeds = Feed.all
@feed = Feed.new
respond_to do |format|
format.html # show.html.erb
format.json { render json: @feeds }
format.js
end
end
def destroy
@feed = Feed.find(params[:id])
@feed.destroy
respond_to do |format|
format.html { redirect_to feeds_path, notice: "Feed successfully deleted." }
format.json { head :no_content }
format.js
end
end
# 视图/提要/index.haml
= form_for(@feed, remote: true) do |f|
.field
= f.label :url
%br/
= f.text_field :url
.actions
= f.submit
- @feeds.each do |feed|
#feed{"data-id" => feed.id}
....
= link_to 'Delete', feed, method: :delete, remote: true
# assets/javascripts/feeds.js.coffee.erb
$('#feed_<%= @feed.id %>').fadeOut
应用程序跟踪:
app/assets/javascripts/feeds.js.coffee.erb:27:in `block in singleton class'
app/assets/javascripts/feeds.js.coffee.erb:-5:in `instance_eval'
app/assets/javascripts/feeds.js.coffee.erb:-5:in `singleton class'
app/assets/javascripts/feeds.js.coffee.erb:-7:in `__tilt_70104733785500'
app/views/layouts/application.haml:6:in `_app_views_layouts_application_haml__4512126609701308533_70104706177220'
app/controllers/feeds_controller.rb:28:in `index'