2011-06-18 22 views
0

次のエラーが発生しています:uninitialized constant Profile::STRING_LEN_MAX_DB。ここで未初期化定数...エラー

は私が持っているものです。

application_helper.rb

def field (form, field_name, len = TEXT_FIELD_LEN, max_len = STRING_LEN_MAX_DB) 
    x = content_tag "label", "#{field_name.humanize}:", :for => field_name 
    y = form.text_field field_name, :size => len, :maxlength => max_len { "#{x} #{y} <br />"} 
end 

編集ビュー

<% form_for :profileinfo do |fe| %> 
<fieldset> 
<info><%= @titlu %></info> 
<%= error_messages_for 'profileinfo' %> 
<div class="fields"> 
    <%= field fe, "first_name" %> 
    <%= field fe, "last_name" %> 

    <label for="gender">Sex:</label> 
    <%= radio_button :profileinfo, :gender, "Male" %> Male 
    <%= radio_button :profileinfo, :gender, "Female" %> Female 
    <br /> 
    <label for="birth_date">Date of birth:</label> 
    <%= date_select :profileinfo, :birth_date, :start_year => Profile::YEAR_FT, :end_year => Time.now.year, :include_blank => true, :order => [:month, :day, :year] %> 
    <br /> 

    <%= field fe, "ocupation" %> 
    <%= field fe, "city" %> 
    <%= field fe, "country" %> 
    <%= field fe, "postal_code", Profile::PSTCOD_LEN %> 
    <%= submit_tag "Save", :class => "submit" %> 
</div> 
</fieldset> 
<% end %> 

のconfig \のenvironments.rb

# Load the rails application 
require File.expand_path('../application', __FILE__) 

# Be sure to restart your server when you modify this file 
# Initialize the rails application 
IRC07::Application.initialize! do |config| 
STRING_LEN_MAX_DB=255 
TEXT_FIELD_LEN=15 
end 

environment.rbで変更後にサーバーを再起動しましたが、引き続き同じエラーが表示されます。

答えて

0

これらの行に移動します。configループのうち

STRING_LEN_MAX_DB=255 
TEXT_FIELD_LEN=15 

を。

だからあなたenviroment.rbは、次のようになります。

# Load the rails application 
require File.expand_path('../application', __FILE__) 

# Be sure to restart your server when you modify this file 
# Initialize the rails application 
IRC07::Application.initialize! do |config| 
end 
STRING_LEN_MAX_DB=255 
TEXT_FIELD_LEN=15 

そして、そのdosn't作業しようとした場合: #ロードRailsアプリケーション がFile.expand_path( '../アプリケーション' FILEが必要です)

# Be sure to restart your server when you modify this file 
# Initialize the rails application 
IRC07::Application.initialize! do 
    STRING_LEN_MAX_DB=255 
    TEXT_FIELD_LEN=15 
end 
0

私は、コードを変更:\アプリビューを\ editprofile \ edit.html.erb

<%= form_for :profileinfo do |fe| %> 
<fieldset> 
<info><%= @titlu %></info> 
<%= error_messages_for 'profileinfo' %> 
<div class="fields"> 
<%= text_field_for fe, "first_name" %> 
<%= text_field_for fe, "last_name" %> 
<label for="gender">Gender:</label> 
<%= radio_button :profileinfo, :gender, "Male" %> Male 
<%= radio_button :profileinfo, :gender, "Female" %> Female 
<br /> 
<label for="birth_date">Birthdate:</label> 
<%= date_select :profileinfo, :birth_date, :start_year => Profile::YEAR_FT, :end_year => Time.now.year, :include_blank => true, :order => [:month, :day, :year] %> 
<%= text_field_for fe, "ocupation" %> 
<%= text_field_for fe, "city" %> 
<%= text_field_for fe, "country" %> 
<%= text_field_for fe, "postal_code", Profile::PSTCOD_LEN %> 
<%= submit_tag "Update", :class => "submit" %> 
</div> 
</fieldset> 
<% end %> 

も、このような機能application_helper

def text_field_for(form, field, size=TEXT_FIELD_LEN, maxlength=STRING_LEN_MAX_DB) 
    label = content_tag("label", "#{field.humanize}:", :for => field) 
    form_field = form.text_field field, :size => size, :maxlength => maxlength 
    content_tag("div", "#{label} #{form_field}", :class => "fields") 
    end 

性別や誕生日はOKですが、私は何のテキストフィールドを取得していないテキストフィールドのため、代わりに私はすべてのparamsとhtmlタグを取得中text_field_for ... :

<label for="first_name">First name:</label> <input id="profileinfo_first_name" maxlength="255" name="profileinfo[first_name]" size="15" type="text" value="" /> 
    <label for="last_name">Last name:</label> <input id="profileinfo_last_name" maxlength="255" name="profileinfo[last_name]" size="15" type="text" value="" /> 
関連する問題