我已创建迁移以重新格式化数据库中的一些内容(将“my-name-city-state”格式的友好链接添加到我的商店记录中),但rake db:migrate
失败并说1} p>
undefined method `make_friendly_link' for #<ActiveRecord::ConnectionAdapters::SQLite3Adapter:0x3f90f30>
当我的迁移尝试访问我的StoresHelper中的方法make_friendly_link时。
我尝试明确包含ApplicationHelper和StoresHelper,但仍然失败。
我的迁移是:
class FriendlyLinkForEveryone < ActiveRecord::Migration
include ModelHelper
include ApplicationHelper
include StoresHelper
def self.up
Store.find(:all).each do |store|
puts "STORE: #{store.name} #{store.city} #{store.state}"
if store.friendly_link.blank?
store.update_attributes :friendly_link => make_friendly_link(store.name, store.city, store.state)
end
end
end
def self.down
end
end
make_friendly_link方法在我的stores_helper.rb中,它在我的application_helper.rb中调用一个方法
答案 0 :(得分:1)
有点黑客,但你可以这样做:
v = ActionView::Base.new
v.make_friendly_link(store.name, store.city, store.state)