Как запустить javascript из контроллера Rails?

#javascript #ruby-on-rails-3

#javascript #ruby-on-rails-3

Вопрос:

В Rails 3 я хочу запустить javascript, который отображает всплывающее окно после того, как пользователь нажимает на ссылку, чтобы присоединиться к группе, которая определяет, имеет ли пользователь право на присоединение (действие контроллера определяет, имеют ли они право).

Мне нужно передать идентификатор контроллеру, получить сообщение от контроллера, а затем запустить javascript с помощью сообщения.

Я не могу запустить javascript. Может кто-нибудь, пожалуйста, помочь мне понять, что я делаю не так? Я думаю, что это в ссылке в представлении.

действие контроллера:

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

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

elsif current_user
  if !@group.already_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>
  

Вид

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

Ответ №1:

Попробуйте заключить ваш #message селектор в кавычки:

 <%= javascript_include_tag "jquery" %>    

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