Je suis un débutant de Rails et je veux faire quelque chose, mais continuez à faire des bêtises. J'aimerais de l'aide.Aide pour créer une action dans une autre page de démonstration
J'ai une application simple qui a trois tables. Utilisateurs, robots et destinataires Les robots appartiennent aux utilisateurs et les destinataires appartiennent aux robots.
Sur la page d'affichage du robot, je souhaite pouvoir créer des destinataires pour ce robot directement dans la page d'affichage du robot.
je le code suivant dans la page show robot qui liste les bénéficiaires actuels:
<table>
<% @robot.recipients.each do |recipient| %>
<tr>
<td><b><%=h recipient.chat_screen_name %></b> via <%=h recipient.protocol_name</td>
<td><%= link_to 'Edit', edit_recipient_path(recipient) %> </td>
<td><%= link_to 'Delete', recipient, :confirm => 'Are you sure?', :method => :delete %></td>
</tr>
<% end %>
</table>
Ce que je voudrais faire est d'avoir un champ vide dans lequel l'utilisateur peut ajouter un nouveau destinataire, et ont essayé ce qui suit:
Je a ajouté à la vue Afficher les robots:
<% form_for(@robot.recipient) do |f| %>
Enter the screen name<br>
<%= f.text_field :chat_screen_name %>
<p>
<%= f.submit 'Update' %>
</p>
<% end %>
et ce au contrôleur de robot dans l'action show:
@recipient = Recipient.new
@recipients = Recipient.all
Hélas, je suis toujours obtenir une erreur de NoMethod qui dit: « méthode non définie du destinataire pour # »
Je ne sais pas ce que je suis absent. Toute aide serait grandement appréciée.
Merci.
Cela a fonctionné en ce que je peux voir le champ sur la page d'affichage du robot, mais il semble qu'il n'attache pas le destinataire au robot particulier. J'ai ce dans le contrôleur de destinataire pour l'action create: @recipient = Recipient.new (params [: destinataire]) et plus tard: format.html {redirect_to (robot_path (@ recipient.robot))} Quand je mettre quelque chose dedans et le créer, il va à la page d'index de destinataires, et me donne une erreur de: méthode non définie 'Recipient 'pour # Ne semble pas être routage à la page d'affichage du robot que je J'attends, ni enregistrer le destinataire comme appartenant au robot. –
Andrew
désolé, a manqué d'espace, mais je voulais dire merci pour l'aide jusqu'à présent. Des idées sur ce qui pourrait se passer? – Andrew