OK, tambahan keterangan dari saya. Saya generate dengan perintah ini:
./script/generate authenticated User sessions --include-activation
--stateful --rspec --skip-routes --old-passwords
Jadi emang routes-nya saya skip. Namun mengikuti kata README-nya, dan juga
pesan setelah perintah generate di atas dijalankan,
Once finished, don't forget to:
- Add an observer to config/environment.rb
config.active_record.observers = :user_observer
- Install the acts_as_state_machine plugin:
svn export
http://elitists.textdriven.com/svn/plugins/acts_as_state_machine/trunkvendor/plugins/acts_as_state_machine
- Add routes to these resources. In config/routes.rb, insert routes like:
map.signup '/signup', :controller => 'users', :action => 'new'
map.login '/login', :controller => 'sessions', :action => 'new'
map.logout '/logout', :controller => 'sessions', :action => 'destroy'
map.activate '/activate/:activation_code', :controller => 'users',
:action => 'activate', :activation_code =>nil
and modify the map.resources :users line to include these actions:
map.resources :users, :member => { :suspend => :put, :unsuspend => :put,
:purge => :delete }
setelah saya ganti :action dari map.login menjadi 'create' akhirnya bisa,
namun di redirect ke localhost:3000/show dan setelah kembali ke halaman
login (dengan load page, bukan dengan tombol back), lalu saya view source,
saya menemukan ini:
<form action="/show" method="post">
Kenapa bisa gitu ya..? Oh iya, saat saya mo ke login page, saya dapat error
ini:
session_url failed to generate from {:action=>"show",
:controller=>"sessions"} - you may have ambiguous routes, or you may
need to supply additional parameters for this route. content_url has
the following required parameters: ["sessions", :id] - are they all
satisfied?
Saya nggak tau kenapa, akhirnya menyebabkan saya menambahkan 1 line di route
(ngasal).
map.sessiaon '/show', :controller => 'sessions', :action => 'show'
namun yang masih mengherankan saya, mengapa file new.html.erb yang ada di
view/sessions ini:
<h1>Log In</h1>
<% form_tag session_path do -%>
<p><%= label_tag 'login' %><br />
<%= text_field_tag 'login', @login %></p>
<p><%= label_tag 'password' %><br/>
<%= password_field_tag 'password', nil %></p>
<!-- Uncomment this if you want this functionality
<p><%= label_tag 'remember_me', 'Remember me' %>
<%= check_box_tag 'remember_me', '1', @remember_me %></p>
-->
<p><%= submit_tag 'Log in' %></p>
<% end -%>
action-nya "/show" ya..? Jadi tambah rumit gini nginstall plugin ini.
Biasanya saya tidak pernah mengalami kesulitan. Sekarang yang saya gunakan
adalah Rails versi 2.1.0. Mohon pencerahannya.
Thanks,
Dida
2008/8/20 Arie Kusuma Atmaja <[EMAIL PROTECTED]>
> irfani YangBaikHati wrote:
> > kenapa mengarahnya ke method new ?
> >
> >
> >> Saat menginput login form:
> >>
> >> Processing SessionsController#new (for 127.0.0.1 at 2008-08-20
> 17:06:13)
> >> [POST]
> >
> > harusnya mengarah ke SessionsController#create [POST]
> >
> > coba periksa view nya, atau routes.rb nya
> >
> > map.resource :session
>
> Sependek yang saya tau plugin tsb utk versi terakhir (edge) sdh otomatis
> menambahkan routing yg sesuai di file config/routes.rb
>
> > gt. masalah nya selesai dengan rename folder pluginnya doang dari
> > restful-authentication menjadi restful_authentication
>
> Sependek yang saya tau [lagi] sejak tidak menjadi acts as authenticated
> lagi direktori pluginnya sudah tidak bisa dihapus, kalau dulu bisa, jadi
> semua semua bergantung pada isi direktori lib / yaitu file authenticated
> system itu
>
> --
> http://ariekusumaatmaja.wordpress.com
> "Don't ask if you can ask, just ask!", R2D2
>
>
[Non-text portions of this message have been removed]