Rails新手在这里。我有一系列包含Facebook好友的哈希,我希望可以选择转换为“联系人”。我有一个索引视图,列出了所有用户的“朋友”。我想要一个自定义按钮,使用户可以将每个朋友变成一个联系人。我如何在Rails中执行此操作?
索引视图 - 我目前正在列出每个用户的头像和版本。名称。我想在每个列表项中添加按钮。
注意:我没有Friend模型,因为我只是将这些数据作为哈希数组从Facebook Graph API中提取出来。
<% @friends.each do |friend|%>
<li> <%= image_tag(fb_avatar(friend["id"], "type=square"))%> <%=friend["name"]%> #put button here </li>
<% end %>
Application Helper中的自定义make_friend_contact方法(要在朋友上调用):
def make_friend_contact
Contact.new(name: self["name"], uid: self["id"], avatar_url: fb_avatar(self["id"], "type=square"), user_id: params[:user])
end
非常感谢任何帮助。我做了很多阅读,我似乎无法解决这个问题。谢谢!
答案 0 :(得分:0)
一种解决方案可能是使用button_to。您可以在Rails API中查看。以下是他们的一个例子:
<%= button_to [:make_happy, @user] do %>
Make happy <strong><%= @user.name %></strong>
<% end %>
# => "<form method="post" action="/users/1/make_happy" class="button_to">
# <div>
# <button type="submit">
# Make happy <strong><%= @user.name %></strong>
# </button>
# </div>
# </form>"
按钮在@user上的Users控制器中调用make_happy操作。
您可以通过在Users控制器中使用friend参数创建新联系人来执行类似操作。
def make_friend_contact
friend = params[:friend]
Contact.new(name: friend["name"]...
end
然后你只需要发送带有按钮POST请求的friend参数。