Bağlandığınız denetleyici eylemleri oluşturabilirsiniz. Örneğin bir uygulamada, bir kullanıcı denetleyicisine eklenmiş aşağıdaki iki eylem var. Rotalar da kurulduktan sonra, görünümlerimden eylemlere bağlantı kurmak için url yardımcılarını kullanıyorum ve flaş mesajlarını javascript geri aramaları aracılığıyla görüntülemeyi bitiriyorum.
UsersController:
def follow
@user = User.find(params[:id])
if current_user
if current_user == @user
flash[:error] = "You cannot follow yourself."
else
current_user.follow(@user)
RecommenderMailer.new_follower(@user).deliver if @user.notify_new_follower
flash[:notice] = "You are now following #{@user.monniker}."
end
else
flash[:error] = "You must <a href='/users/sign_in'>login</a> to follow #{@user.monniker}.".html_safe
end
end
def unfollow
@user = User.find(params[:id])
if current_user
current_user.stop_following(@user)
flash[:notice] = "You are no longer following #{@user.monniker}."
else
flash[:error] = "You must <a href='/users/sign_in'>login</a> to unfollow #{@user.monniker}.".html_safe
end
end
config/route.rb:
resources :users do
member do
get :follow
get :unfollow
end
end
Sonra görünümünde denetleyici eylem bağlamak için URL yardımcı kullanabilirsiniz:
<%= link_to "Unfollow", unfollow_user_path(@user) %>
Bu gem ile ilgisi yok, temel Rails şeyler. Senin yerinde olsaydım, iyi bir Rails kitabı alırdım. Kitaplar iyidir, yapılandırılmış bilgi vardır. –