2011-10-31 7 views
0

Rails 3では、ユーザーがグループに参加するためのリンクをクリックした後にポップアップを表示し、ユーザーが参加資格があるかどうかを判断する(コントローラーアクションによって適格かどうかが判断されます)。Rails ControllerからJavascriptを起動するには?

IDをコントローラに渡し、コントローラからメッセージを受け取り、メッセージを使用してJavaScriptをトリガする必要があります。

私はJavaScriptをトリガすることができません。誰かが私が間違っていることを理解するのを助けてくれますか?私はそれがビューのリンクにあると思う。

コントローラのアクション:

<%= link_to 'Join',{:onclick => {:controller => 'groups', :action => 'join', :id => @group.id} }%> 
<div id="message"></div> 

答えて

0

def join 
    @group = Group.find(params[:id]) 

if ineligible 
    @message = "Sorry, you can't join." 

elsif current_user 
    if [email protected]_joined(current_user) 
    @message = GroupUser.create(@group,current_user,nil,nil) 
    else 
    @message = "You're already registered for this group" 
    end 

else  
    @message = "If you're already a user, but not a member of this group, please login, and then click the join link again. If you aren't a user yet, please join!" 
end 
end 

javacriptヘッダー内

<%= javascript_include_tag "jquery" %>  

<script> 
    $(#message).msg('<% @message %>', { 
    type : 'confirm' 
    }); 
</script> 

ビューには、引用符であなたの#messageセレクタを包むようにしてください:

<%= javascript_include_tag "jquery" %>  

<script> 
    $('#message').msg('<% @message %>', { 
    type : 'confirm' 
    }); 
</script> 
関連する問題