Ruby on rails rails 3迁移如何使用my ApplicationHelper和WidgetsHelper中的方法?
我创建了一个迁移来重新格式化数据库中的一些内容(在我的存储记录中添加了一个友好的链接,格式为“我的名字城市状态”),但是Ruby on rails rails 3迁移如何使用my ApplicationHelper和WidgetsHelper中的方法?,ruby-on-rails,migration,Ruby On Rails,Migration,我创建了一个迁移来重新格式化数据库中的一些内容(在我的存储记录中添加了一个友好的链接,格式为“我的名字城市状态”),但是rake db:migrate失败并显示 undefined method `make_friendly_link' for #<ActiveRecord::ConnectionAdapters::SQLite3Adapter:0x3f90f30> 未定义的方法“使链接友好”# 当我的迁移尝试访问我的StoresHelper中的方法make_-friendly_
rake db:migrate
失败并显示
undefined method `make_friendly_link' for #<ActiveRecord::ConnectionAdapters::SQLite3Adapter:0x3f90f30>
未定义的方法“使链接友好”#
当我的迁移尝试访问我的StoresHelper中的方法make_-friendly_链接时
我尝试显式地包括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
class-FriendlyLinkForEveryonemake\u friendly\u link(store.name、store.city、store.state)
结束
结束
结束
def自动关闭
结束
结束
make_-friendly_-link方法在我的stores_-helper.rb中,它调用我的应用程序中的一个方法_-helper.rb一种黑客行为,但您可以执行以下操作:
v = ActionView::Base.new
v.make_friendly_link(store.name, store.city, store.state)
有点像黑客,但你可以做到:
v = ActionView::Base.new
v.make_friendly_link(store.name, store.city, store.state)
非常棒,谢谢!将测试出来,然后用accept发回。非常棒,谢谢!将测试并使用accept发回。