0
after_createコールバック中にurl_helpersがユーザーモデルで動作していないようです。ここでエラーが...工夫/ registrationsController#でafter_create url_helpersがUserモデルで動作しない(Deviseで)
NameErrorが...
class User < ActiveRecord::Base
include ActionView::Helpers::UrlHelper
include Rails.application.routes.url_helpers
# Include default devise modules. Others available are:
# :token_authenticatable, :lockable and :timeoutable
devise :invitable, :database_authenticatable, :registerable, :confirmable,
:recoverable, :rememberable, :trackable, :validatable
...
# Callbacks
after_create :initialization
def initialization
if self.temp_org_id.blank?
self.update_attributes(:email_messages => true, :email_requests => true)
self.is_travel_planner ? buyer = true : buyer = false
##### THIS IS WHERE IT BREAKS##########################
step_1 = link_to('Setup your personal profile', edit_user_path(self))
step_2 = link_to('Setup/update your company profile', '/organizations/new?user_id=' + self.id.to_s)
if buyer == true
step_3 = link_to "Find potential suppliers by name, location, person, and more!", "/organizations/new?user_id=" + self.id.to_s
else
step_3 = link_to "Make Connections with qualified buyers!", "/organizations/new?user_id=" + self.id.to_s
end
name = self.name_first
type = 'suppliers'
content = "<p>Welcome #{name},</p>
<p>The iTourSmart community is built upon a powerful web-based tool that allows you to find and connect with #{type} like never before. Building your business with iTourSmart is as easy as 1-2-3!</p>
<h4>Step 1: Setup your personal profile</h4>
<h4>Step 2: #{step_2}</h4>
<h4>Step 3: #{step_3}</h4>
<p>=Of course, you can simply close this window and look around right now. This message is stored in your message center and can be accessed at any time.</p>"
new_note = self.notes.create(:is_fancybox_autoload => true, :is_sysmessage => true, :subject => "Setup your brand", :body => content)
else
self.roles.create(:user_id => self.id, :organization_id => self.temp_org_id)
self.update_attributes(:temp_org_id => nil, :email_messages => true, :email_requests => true)
end
end
end
ため
未定義のローカル変数やメソッド `コントローラ」を作成すべてのヘルプは大歓迎されます!
ありがとうございます。より多くの研究の後で、私は問題がDeviseの使用にも起因すると思います。私は私の質問に多くの情報を追加しました。 –
私はあなたがこの背後を行くと思います。あなたのモデルのメモに大きな醜い文字列を作成するのではなく、ユーザーがメモを見るときに、テンプレート、URLヘルパー、豊富なモデルオブジェクトを自由に使用して作成します。 – noodl
洞察に感謝します。それは多くの意味があります。最初のログインであるかどうかを追跡するためにユーザーレコードにフラグを設定する「最良の」方法ですか? –