2016-11-05 72 views
0

我想了解如何在Rails 5应用程序中使用帮助器方法。Rails 5 - 帮助器方法

我有一个名为Proposal的模型,另一个名为User

在我的Proposal帮手中,我试图编写一个帮助程序来显示父用户的名称和位置(提案属于用户)。

我曾尝试:

def text_for_proponent(proposal, user) 
    return unless current_user.id == proposal.user.id 
    render 'users/profiles/formal_name_title', user: @proposal.user 
end 
在我的意见/用户/ formal_name_title.html.erb

然后,我有:

<%= @user.full_name.titleize %> · <%= @user.organisation.title.titleize %> · <%#= @user.addresses.first.country_name.titleize %> 

然后在我的建议/ show.html.erb,我有:

<h4><%= text_for_proponent(@proposal, @proposal.user) %></h4> 

这是行不通的。我无法找到如何将用户实例提供给助手以用于填充视图。

任何人都可以看到我要去哪里错了吗?

+0

我的回答有助于您解决问题吗? –

回答

1

问题是,您正试图访问@proposal.user,但@proposalnil里面的帮手。您应该使用本地变量proposal

render 'users/profiles/formal_name_title', user: proposal.user 

而且,你应该改变你的局部变量user

<%= user.full_name.titleize %> · <%= user.organisation.title.titleize %> · <%= user.addresses.first.country_name.titleize %> 
+0

谢谢阿伦 - 我非常感谢你的帮助 – Mel